tumblr API の文字参照をデコードして Flash に表示するための ActionScript クラス

ActionScript 辞典を引きながら、他のライブラリーを参考になんとか書いてみました。
拙いコードですが、一応ちゃんと動きます。(^_^

/*
USAGE:
	var decoded:String = Decodr.decode(str);
*/

class Decodr {
	
	static function decode (text:String) :String
	{
		var decoded='', top=0, sta, sto, num ;
		var head = "&#";
		var tail = ";";
		
		while(text.indexOf(head,top)>=0){
		
		sta = text.indexOf(head,top);
		sto = text.indexOf(tail,top+2);
		
		decoded += text.substring(top,sta);
		
		num = Number(text.substring(sta+2,sto));
		
		if(isNaN(num)) {
			
			trace('ERROR: num=' + text.substr(sta+2,sto));
			break;
		}
		
		decoded += String.fromCharCode(num);
		
		top = sto+1;
		}
		
		decoded += text.substr(top);
		
		return decoded;
	}
		
}

で、これを組み込んだものがこちらです。

テスト結果 → http://yoropico.jp/sandbox/tumblr_API_AS2_test08.html


画像も表示されるように img タグを挿入し、テキストの表示方法もダイナミックテキストからテキストエリアコンポーネントを使うように変更してみました。
テキストエリアにしたおかげで文字が枠に収まりきれない場合にはスクロールバーが出るようになりました。ただし画像がはみ出していてもスクロールバーは出てくれません。画像のサイズまでは考慮してくれないようです。(^_^;

テスト結果 → http://yoropico.jp/sandbox/tumblr_API_AS2_test09.html