画像や YouTube 動画ではない URL を次のように置き換えようとしています。
preg_replace('#(http://([^\s]*)(?<!\.(?:jpg|gif|png))(?<!youtube\.com/watch\?v=\w{11}))#', '<a href = $1> $1 </a>', $output);
これは、http: //foobar.com/baz.jp g やhttp://www.youtube.com/watch?v=abcdefghij k などの URL と一致します。太字の部分は一致するものを示しています。
どうすればこれを修正できますか?