小技: ![CDATA 内 URLの自動リンク
XMLから ![CDATA内のテキストを FLASHのテキストフィールドに読み込む際、HTMLの使用を可能(textfield.html = true;)にしてタグを指定しても、URLはリンクされないので、リンクされるようにするフォーマット用関数を作りました。
URLの後は改行するのが必須条件ですが、何かの際にもしかしたら役に立つかもしれません。読み込まれるテキストを引数に指定して、setFormat関数を実行するだけで、あらゆる状況に適用できます。
var txt = "読み込みたいテキスト http://www.atziluth.jp/"
setFormat(txt)
function setFormat(txt) {
var url = new Array();
var num = new Array();
var index = new Array();
var end = new Array();
var len = new Array();
var searchword = "http://";
var swlen = searchword.length;
var urlcolor="0xEE8800" //URLのフォント色
content.textbox.text = txt.toString();
//content:MovieClip | textbox:TextField
url = txt.toString().split(searchword);
num = url.length-1;
for (i=1; i<=num; i++) {
index[i] = txt.toString().indexOf(searchword, index[i-1]+swlen);
urltemp = new Array();
urltemp = url[i].toString().split("\n");
len[i] = urltemp[0].length+swlen;
end[i] = int(index[i])+int(len[i]);
url[i] = searchword+url[i].toString().substr(0, len[i]-swlen);
url_fmt = new TextFormat();
url_fmt.color = urlcolor;
url_fmt.url = url[i];
url_fmt.target = "_blank";
content.textbox.setNewTextFormat(index[i], end[i], url_fmt);
}
}
- 作者: Adobe Development Team
- 出版社/メーカー: O'Reilly Media
- 発売日: 2007/03/01
- メディア: ペーパーバック
- この商品を含むブログ (2件) を見る