0
我使用此代碼剝離從文本中的所有鏈接:preg_replace和它裏面的條件?
$字符串= preg_replace函數( 「/ \] )>([^ <])\ </A>/I」, 「$ 2」,$串);
但我想以某種方式不要去掉指向某個域名的鏈接,例如google.com 因此,我想刪除所有其他網址,但要保留鏈接到一個域名。
我怎樣才能在preg_replace函數添加一些條件?
我使用此代碼剝離從文本中的所有鏈接:preg_replace和它裏面的條件?
$字符串= preg_replace函數( 「/ \] )>([^ <])\ </A>/I」, 「$ 2」,$串);
但我想以某種方式不要去掉指向某個域名的鏈接,例如google.com 因此,我想刪除所有其他網址,但要保留鏈接到一個域名。
我怎樣才能在preg_replace函數添加一些條件?
您需要使用preg_replace_callback()
爲條件。
但你可能會更好解析HTML和操作DOM。原因是,你的正則表達式總會有一些缺陷。目前的一個,例如,將不會阻止其他人加入,像這樣的鏈接:
<a href=evil><b>foo</b></a >
對不起,是我解析HTML – kole78
很抱歉,但你能告訴我如何使用該功能,我的意思是如何保持聯繫爲一個域? – kole78
請參閱文檔中的示例#2和#3,瞭解如何使用該功能。使用'var_dump()'查看輸入參數:它是一個包含捕獲的數組,非常類似'preg_match()'中的'$ match'參數。 –