我试图从文本字段中获取特定标记的所有内容,并仅检索其部分内容
<h4>
TEXT TO RETRIEVE HERE
<br>
EVERYTHING ELSE
</h4>
我遇到的问题是并非在每种情况下都会显示BR标记,所以当它出现时,我想排除它+后面的所有内容
<br>
EVERYTHING ELSE
我尝试了以下preg_match_all,但没有运气:
preg_match_all('/<h4>(.*?)<br>.*<\/h4>/ims', $text, $match)
答案 0 :(得分:1)
尝试:
<h4>.*?(?=<br>|$)
with&#34; dot匹配换行符&#34;并且^ $不匹配启用换行符选项
如果您需要确保最后存在结束标记,您可以尝试:
<h4>.*?(?=(?:<br>.*</h4>)|(?:</h4>))
答案 1 :(得分:0)