06/20: ActionScript + PHPで正規表現を使用する、その1
Category: ActionScript
Posted by: sato
Flash ActionScriptでは、標準で正規表現をサポートしていません。
そこで、引数をPHPに投げて処理してみました。
サンプルです。
ステージに、「変換前」「正規表現パターン」「置き換え」「変換後」のテキストボックスと、実行ボタンを用意し、それぞれ名前を、subject、pattern、replacement、result、preg_replace、とします。
ルートタイムラインに以下のActionScriptを記述します。
PHP側
サンプルはこちらからダウンロードできます。

zipファイル[83clicks]
近いうちに、preg_replace_callback版も作ってみたいと思います。
そこで、引数をPHPに投げて処理してみました。
サンプルです。
ステージに、「変換前」「正規表現パターン」「置き換え」「変換後」のテキストボックスと、実行ボタンを用意し、それぞれ名前を、subject、pattern、replacement、result、preg_replace、とします。
ルートタイムラインに以下のActionScriptを記述します。
preg_replace.onRelease = function() {
//Unicode以外で受け取れるようにするなら、useCodepage = trueにする。
//デフォルトはUnicode(useCodepage = false)
System.useCodepage = true;
replaceData = new LoadVars();
//POSTするパラメータをセットしておく
replaceData.subject = subject.text;
replaceData.pattern = pattern.text;
replaceData.replacement = replacement.text;
//PHPにパラメータを渡し、結果を受け取る。
//urlはswfファイルと同じドメイン内にある必要があります。
replaceData.sendAndLoad("http://wa.otesei.com/media/as/preg_replace.php",replaceData);
replaceData.onLoad = function(){
//このイベントが呼ばれればロード完了
result.text = this.result;
}
}
PHP側
<?php
echo "result=".preg_replace($_POST[pattern], $_POST[replacement], $_POST[subject]);
?>
サンプルはこちらからダウンロードできます。


zipファイル[83clicks]近いうちに、preg_replace_callback版も作ってみたいと思います。