<tr>
<td height="28">条 形 码:</td>
<td>640183</td>
</tr>
<tr>
<td height="28">所属品牌:</td>
<td><a href="list-product.html?brand=10130">Guerlain 娇兰</a> >> <a href="list-product-988.html?brand=10130">香水系列</a></td>
</tr>
以上一段HTML.要求正则提取出 里面条形码对应的值"640183" 以及 所属品牌里面 对应的 "Guerlain 娇兰"我是分开来匹配的。条形码是这样匹配的
preg_match('/<td height="28">\s*条 形 码:<\/td>\s*<td>(.*?)\s*<\/td>/is',$file,$tiaoxingma);
但是感觉效率不高。有更好的写法吗。呵呵
<td height="28">条 形 码:</td>
<td>640183</td>
</tr>
<tr>
<td height="28">所属品牌:</td>
<td><a href="list-product.html?brand=10130">Guerlain 娇兰</a> >> <a href="list-product-988.html?brand=10130">香水系列</a></td>
</tr>
以上一段HTML.要求正则提取出 里面条形码对应的值"640183" 以及 所属品牌里面 对应的 "Guerlain 娇兰"我是分开来匹配的。条形码是这样匹配的
preg_match('/<td height="28">\s*条 形 码:<\/td>\s*<td>(.*?)\s*<\/td>/is',$file,$tiaoxingma);
但是感觉效率不高。有更好的写法吗。呵呵
<tr>
<td height="28">条 形 码:</td>
<td>640183</td>
</tr>
<tr>
<td height="28">所属品牌:</td>
<td><a href="list-product.html?brand=10130">Guerlain 娇兰</a> >> <a href="list-product-988.html?brand=10130">香水系列</a></td>
</tr>
<tr>
<td height="28">条 形 码:</td>
<td>640183</td>
</tr>
<tr>
<td height="28">所属品牌:</td>
<td><a href="list-product.html?brand=10130">abcd sssd</a> >> <a href="list-product-988.html?brand=10130">香水系列</a></td>
</tr>
HTML;preg_match_all('/640183#匹配数字#
.+?#非贪婪匹配到第一个<a#
<a.*?#非贪婪匹配剩余a标签内的东西#
> (.+?) #匹配分类名#
<\/a>/sx', $str, $matches);
echo '<pre>';
print_r($matches[1]);
echo '</pre>';
/*
* Array
(
[0] => Guerlain 娇兰
[1] => Guerlain sssd
)
*/
echo $tiaoxingma[1]; //条形码 preg_match('/<a[^>]*>(.*)<\/a>/isU',$file,$pinpai);
echo $pinpai[1]; //品牌
echo $tiaoxingma[1]; //条形码
这个是不对的。呵呵