この正規表現をサイトフォーラムから取得して、テキスト内のリンクを検索し、クリックできるようにhtmlリンクに置き換えました。
問題は、誰かが次のような新しいYouTubeリンクの1つを入力したときに発生しました。
何が起こるかというと、リンクはダッシュまで構成され、-ag2はそれ自体に残されます。
私はphpregexについて十分に知らないので、ダッシュの解析を追加するためにこれをあえて変更することさえできないので、私はいくつかの助けを得ることができることを望んでいました:
$newText = preg_replace('@((http|https)://([\w-.]+)+(:\d+)?(/([\w/_.]*(\?\S+)?)?)?)@',
'<a href="$1" class="link1" target="_blank">$1</a>',$text);
\S+の部分のあたりだと思います