テキストに含まれるURLやメールアドレスにリンクタグ(aタグ)をつけます。
当初は1バイトずつ切りだして判定する方法を利用していたのですが、分かりづらい上に作りにくかったので正規表現を利用したものに切り替えました。ロジックを書かなくて済む分、かなりシンプルなスクリプトになっています。独自のWikiやBBSなどに利用できるかもしれません。// 正規表現を利用したURL&メルアドのタグ付け
#module
// 置換処理のメイン部分
#deffunc do_cnv str before, var after, str pattern, str replace
newcom regexp, "VBScript.RegExp"
comres after
regexp("Pattern") = pattern
regexp("Global") = 1
regexp -> "Replace" before, replace
delcom regexp
return
// URLのタグ付け
#defcfunc add_link str before
do_cnv before, after, "(http://[-/.~_#0-9a-zA-Z]+)", "<a href=\"$1\">$1</a>"
return after
// メールアドレスのタグ付け
#defcfunc add_mailto str before
do_cnv before, after, "([-/.~_0-9a-zA-Z]+@[-.~_0-9a-zA-Z]+)", "<a href=\"mailto:$1\">$1</a>"
return after
#global
// URLにリンク(日本語ドメイン非対応)
before = {"文字列中のURL(URI)にリンクします
HSPTV!(http://hsp.tv/)
HSP開発wiki(http://hspdev-wiki.net/)
http://だけではリンクされません"}
after1 = add_link(before)
mesbox after1, ginfo_winx, ginfo_winy / 2
// メールアドレスにリンク
before = {"文字列中のメールアドレスにリンクします
例えばsample2007@yaboo.co.jpとか!"}
after2 = add_mailto(before)
mesbox after2, ginfo_winx, ginfo_winy / 2
stop
2007年12月25日火曜日
正規表現を利用したURL&メールアドレスのタグ付け
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿