私はすべてのURLに一致するこの正規表現を持っており、うまく機能します:
$regex ='@((https?://)([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,]*(\?\S+)?)?)*)@';
return preg_replace_callback( $regex, 'replacing' , $content );
:内の一致するURLを避ける必要がありsrc="***"
ます<a href="">***</>
。テキストは保持しますが、URLを置き換えます。
私は試しました:正規表現に否定を追加します:
$regex ='@((?!src="|?!>)(https?://)([-\w]+\.[-\w\.]+)+\w(:\d+)?(/([-\w/_\.\,]*(\?\S+)?)?)*)@';
URLがsrc="で始まる場合の最初の否定2番目の否定は、hrefahref>の間にある場合です。
それを機能させるためのアイデアはありますか?