1

わかりました、URL をリンク (アンカー タグ) に変換する方法はたくさんあります...

問題は、http および https プロトコルをサポートする URL を一致させたいということです...新しいタブで開きます...しかし、これを行うための安全な方法を探しています...したがって、単純(.*)ではありません仕事をしてください....私は次のようなことを試しました:

    $var=preg_replace('#(https?://([_a-zA-Z0-9-]+\.[a-z0-9]+)/?[^ ()<>]*)#i', '< href="\\1" target="blank">\\1</a>', $var);

しかし、次のような文字列がある場合:「ねえ、この「http://google.com」の男をチェックしてください...それはこのようなものに変わります

ちょっとこれをチェックしてください:
<a href="http://google.com&quot;" target="blank">http://google.com&quot;</a>

だから私はリンクの最後に二重引用符を持つことになります:Sこの正規表現を強化する方法はありますか? "「許可されていない文字」 に a を追加しようとしました[^ "()<>]が、まったく効果がありません。

4

1 に答える 1

0

&quot;文字だけでなく、正規表現で単語を禁止する必要があります"

単語を禁止する唯一の方法は次のとおりです。単語を含まない行に一致する正規表現はありますか?

したがって、この正規表現が機能する可能性があると思います:

#(https?://([_a-zA-Z0-9-]+\.[a-z0-9]+)/?((?!(&quot;|\(|\)|<|>)).)*)#i
于 2012-12-03T10:53:07.547 に答える