preg_replace を使用して、いくつかの URL を含むテキスト内の単語のリストを置き換えています。問題は、これらの単語が URL の一部である場合、これらの単語を置き換えたくないということです。
次の例は無視してください。
foo.com
foo.com/foo
foo.com/foo/foo
基本的な例 (php で記述) として、負の先読みアサーションを使用して、.comとオプションのスラッシュと文字を含む文字列を無視しようとしましたが、成功しませんでした:
preg_replace("/(\b)foo(\b)/", "$1bar$2(?!(\w+\.\w+)*(\.com)([\.\/]\w+)*)", $text);
この呼び出しは、 .comの前の単語を無視するだけで機能します。どんな助けでも本当に感謝しています。