[英]Preg_match_all patterns except
我正在嘗試從文本字段中獲取所有出現的特定標簽,並且僅檢索其一部分內容
<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)
嘗試:
<h4>.*?(?=<br>|$)
啟用換行選項時,“點匹配換行符”和^ $不匹配
如果需要確保結束標記位於末尾,則可以嘗試:
<h4>.*?(?=(?:<br>.*</h4>)|(?:</h4>))
我想你需要這樣的東西
<h4>((?:(?!<br>).)*)(?=<br>|<\/h4>)
它捕獲<h4>
標記之后的值,該值不是<br>
零次或多次。 並且必須在其后跟隨<br>
標記或</h4>
標記。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.