请教正则必须包含如何匹配呢
正则:
<a(.*)href=["\'](.*)["\']><div class="plst"><b>(.*)</b></div></a>
内容:
<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>
目标:(必须包含<div class="plst"><b>)
<a href="/BAMC"><div class="plst"><b>标题二</b></div></a>
当前错误结果:(匹配成了整段了)
<a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>
[解决办法]
加上 U,禁止贪婪
[解决办法]
是这个意思吗
$str = '<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>';
preg_match_all("/<a.*?><div class="plst"><b>(.*)<\/b><\/div><\/a>/is",$str,$match);
echo "<pre>";
print_r($match);
$s =<<< TXT
<li>str</li><li><a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a>
TXT;
preg_match('/.+(<a.+?<div class="plst".+?a>)/is', $s, $m);
echo $m[1];
<a href="/BAMC"><div class="plst"><b>标题二</b></div></a>