当我尝试将此字符串分开时:
<b>Pristatymo laikas: </b>08-17h (visoje Lietuvoje)<br /><b>Dovanų kuponai:</b> <br />Panaudotas 200.00 Lt. dovanų kuponas, kurio kodas: xxxxx<br /><b>Mokėtina suma:</b> 12.00 Lt. <br />
使用reg ex模式:
<b>(.*)</b>
我得到了这场比赛:
<b>Pristatymo laikas: </b>08-17h (visoje Lietuvoje)<br /><b>Dovanų kuponai:</b> <br />Panaudotas 200.00 Lt. dovanų kuponas, kurio kodas: xxxxx<br /><b>Mokėtina suma:</b>
但是我将<b>
标记中的所有单词分隔为:
<b>Pristatymo laikas: </b>
<b>Dovanų kuponai:</b>
<b>Mokėtina suma:</b>
如何写出正确的模式?
答案 0 :(得分:3)
答案 1 :(得分:1)
您必须关注.*
?
进行non-greedy匹配。
<b>(.*?)</b>
虽然您可以使用简单的正则表达式执行此操作,但最好使用Parser。
$html = '<b>Pristatymo laikas: </b>08-17h (visoje Lietuvoje)<br />
<b>Dovanų kuponai:</b> <br />Panaudotas 200.00 Lt. dovanų kuponas, kurio kodas:
xxxxx<br /><b>Mokėtina suma:</b> 12.00 Lt. <br />';
$doc = new DOMDocument();
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
foreach ($xpath->query('//b') as $tag) {
echo $tag->ownerDocument->saveHTML($tag) . "\n";
}
<强>输出强>:
<b>Pristatymo laikas: </b>
<b>Dovanų kuponai:</b>
<b>MokÄtina suma:</b>