如何从文章中正则出所有 a 标超链,超链文字含有 product 的?
如:<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>
如:<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>
$s = <<<eof
<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>
<a href="d.apsx" onClick="js()">our produc</a>
eof;
preg_match_all('/<a[^>]*href="(.*?)"[^>]*>(.*(?:product).*)<\/a>/i',$s,$arr);
echo '<pre />';
print_r($arr);
//使用heredoc
$s = <<<regExp
<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>
<a href="d.apsx" onClick="js()">our produc</a>
regExp;
//上面的regExp前面不能有任何字符后面也不能有任何字符
preg_match_all('/<a.*href="(.*?)".*>(.*?)<\/a>/i',$s,$arr);//其中.*?是取消贪婪匹配额
echo '<pre >';
print_r($arr);
echo '</pre>';
?>
//使用heredoc
$s = <<<regExp
<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>
<a href="d.apsx" onClick="js()">our produc</a>
regExp;
//上面的regExp前面不能有任何字符后面也不能有任何字符
preg_match_all('/<a.*href="(.*?)".*>(.*product.*?)<\/a>/i',$s,$arr);//其中.*?是取消贪婪匹配额
echo '<pre >';
print_r($arr);
echo '</pre>';
?>
上面的有的问题,这个可以了
http://topic.csdn.net/u/20110224/17/25911686-a9df-494e-b92d-6f0629f7e5ca.html
还有
http://topic.csdn.net/u/20110302/11/9a93a123-74ff-4bf7-a5de-603dd15d2a14.html
谢谢啦。。
/\<a\shref\=\"(.*\..*)\"\>product<\/a\>/