1

現在、html のブロック内のすべての URL を検索する正規表現があります。次のようになります。

elementHTML.match(/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/ig);

URL が検出されると、次のようなものに置き換えられます。

<div data="URL_THAT_WAS_DETECTED">Information about that url</div>

data 属性はカスタムで追加されます。

以前に検出された URL を取得せずに URL を検索し続けるにはどうすればよいですか?

理想的には、引用符または html タグで囲まれた URL を無視したいのですが、提案は受け付けています。

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

1

この正規表現はそれを行います:

 /(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+(?![^\s]*?")([\w.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?/ig

二重引用符文字の否定先読みを追加しました"

ライブデモ

于 2012-06-03T07:11:13.407 に答える