さて、これが私の問題です:
そして、リンクは次のように言う2つのタグの間にあります。
<br>http://www.blablabla.com/watch?v=1lyu1KKwC74&feature=list_other&playnext=1&list=AL94UKMTqg-9CfMhPFKXPXcvJ_j65v7UuV<br></p>
preg_replaceでこの正規表現を使用する:
'@(^|[^\/]|[^>])('.addcslashes($link,'.?+').')([^\w\/]|[^<]$)@i'
そのような:
preg_replace('@(^|[^\/]|[^>])('.addcslashes($link,'.?+').')([^\w\/]|[^<]$)@i', "***",$strText);
結果の文字列は次のとおりです。
<br***p>
どちらが間違っている!
あるべきだった
<br>***<br></p>
どうすれば希望の結果を得ることができますか?私はこれを解決しようとして頭を爆破しました。
別の有効なリンク内のリンクもstr_replace
置き換えるので、これは適切な方法ではありません。境界がテキストまたは別のHTMLタグであっても、2つの境界を完全に一致させる必要があります。