[英]separate string with reg ex
When I try to separate this string: 当我尝试分隔此字符串时:
<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 />
with reg ex pattern: 使用reg ex模式:
<b>(.*)</b>
I get this match: 我得到这个比赛:
<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>
But I what get all words in <b>
tag separated like: 但是我将<b>
标记中的所有单词分开的原因是:
<b>Pristatymo laikas: </b>
<b>Dovanų kuponai:</b>
<b>Mokėtina suma:</b>
How to write correct pattern? 如何写正确的图案?
You need to follow .*
with ?
您需要在.*
加上?
for a non-greedy match. 进行非贪婪的比赛。
<b>(.*?)</b>
Although you can do this with a simple regular expression, it is better to use a Parser for this. 尽管您可以使用简单的正则表达式来执行此操作,但最好使用解析器。
$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";
}
Output : 输出 :
<b>Pristatymo laikas: </b>
<b>Dovanų kuponai:</b>
<b>MokÄtina suma:</b>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.