-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

2010年03月13日

[JavaScript]正規表現でリンクの作成

参考:http://www.site-cooler.com/kwl/javascript/15.htm

ちょっと試してみました。prototype.jsを使っています。

function createLink() {
  var src = "  aaaaaa http://www.google.ne.jp
[url] https://www.nnnn.jp http://yahoo.ne.jp \
             xxxx  eeeeeee xx
http://hhhh.net
PPP";
  text = src.gsub(/(https?:\/\/[^(\s|<)]+)(
|
)?/, '#{1}#{2}');
  $('div7').innerHTML=text;
}

実行結果:brタグが有効になって改行されています。
aaaaaa http://www.google.ne.jp
[url] https://www.nnnn.jp http://yahoo.ne.jp xxxx eeeeeee xx
http://hhhh.net
PPP

 有効なリンクは、googleだけです。yahooも以前はこのURLでつながったような気がするのですが、試してみると無効でした。

 後方参照以外はRubyと同じ正規表現が使えるみたいです。
a http://www.google.ne.jp
[url] https://www.nnnn.jp http://yahoo.ne.jp              xxxx  eeeeeee xx
http://hhhh.net
PPP"
irb(main):004:0> text = src.gsub(/(https?:\/\/[^(\s|<)]+)(
|
)?/, '#{1}#{2}');
irb(main):005:0* text
=> "  aaaaaa \#{1}\#{2} [url] \#{1}\#{2} \#{1}\#{2}              xxxx  eeeeeee xx
\#{1}\#{2} PPP"
irb(main):006:0> text = src.gsub(/(https?:\/\/[^(\s|<)]+)(
|
)?/, '\1\2');
irb(main):007:0* text
=> "  aaaaaa http://www.google.ne.jp
[url] https://www.nnnn.jp http://yahoo.ne.jp              xxxx  eeeeeee xx
http://hhhh.net
PPP"
irb(main):008:0> 



posted by hirono at 02:37| Comment(0) | TrackBack(0) | JavaScript
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/36285981

この記事へのトラックバック