[英]Premature group capturing PHP regex
我將HTML存儲在MySQL數據庫中,該數據庫正從Joomla遷移到新的WordPress安裝中。 我需要刪除每頁底部的一些標題文本。
HTML的示例:
<a href="some/link">link 1</a><p>some really long description</p><a href="another/link">link 2</a>CAPTION TEXT HERE[/caption]
我正在使用PHP腳本查詢數據庫並進行正則表達式匹配。
到目前為止,我的正則表達式:
/(<\/a>)(.*?)(\[\/caption\])/
我需要完全刪除第二個字幕組(CAPTION TEXT HERE),因此從本質上講,將組1,2和3替換為組1和3。組2可以包含任何字母數字或特殊字符。
我遇到的問題是捕獲組1與鏈接1的結束錨標記匹配,並一直持續到[/caption]
發生的是:
</a><p>some really long description</p><a href="another/link">link 2</a>CAPTION TEXT HERE[/caption]
被替換為:
<a href="some/link">link 1</a>[/caption]
當我真正需要的是:
<a href="some/link">link 1</a><p>some really long description</p><a href="another/link">link 2</a>[/caption]
先感謝您!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.