通常:
コンテンツ:
プラス貪欲を禁じます
これはどういう意味ですか?
$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 class="brush:php;toolbar:false">";print_r($match);
正しい結果:
現在のエラー結果:
タイトル 1 a>< /li>
あなたの方法を試しましたそして、それは依然として次の結果と一致しました。
すごい
すごい
preg_match_all("/
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 class="brush:php;toolbar:false">";print_r($match);
preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/isU",$str,$match);//加上U,禁止贪婪模式
preg_match_all("/<a.*?><div class=\"plst\"><b>(.*)<\/b><\/div><\/a>/isU",$str,$match);//加上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>/U",$str,$match);echo "<pre class="brush:php;toolbar:false">";print_r($match);
<pre class="brush:php;toolbar:false">Array( [0] => Array ( [0] => <a href="/x.html">标题一</a></li><a href="/BAMC"><div class="plst"><b>标题二</b></div></a> ) [1] => Array ( [0] => 标题二 ))