2017-09-30 69 views
0

我需要從文本中刪除<a href,除非在HREF域/ URL包含example.com的preg_replace HREF內href網址不包含特定的域

我發現這個正則表達式,但它現在的所有URL (.*?)取代,任何想法如何使它所以它替換所有的HREF 除了如果URL中包含example.com

preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/', "\\2", $_POST['desc']);

下面是例子,如何替換應該工作

<a href="http://example.com/test">test1</a> ==> Should not be replaced (targeted) <a href="http://google.com/test">test2</a> ==> test2

回答

-1
['"]https?:\/\/(?!example\.com)[^"']+['"] 

該正則表達式匹配的所有URL exept那些域名example.com 在這種情況下,我asuming可以封裝單引號或雙引號之間,說href="{url}"href='{url}'

+0

謝謝,用位編輯它工作正常https://regex101.com/r/qZ8tD3/4 – bombix