HTMLタグを削除
VBScriptの正規表現でHTMLタグを削除
※正規表現の実際のパターンは、「 <("[^"]*"|'[^']*'|[^'">])*> 」。上記の表内は"(ダブルクォーテーション)をエスケープしています。
"VBScript"を指定し、ScriptContorol作成。
フィールド設定 [test::er; iiil_Create( test::language )/*vbscriptまたはjscript、空欄=破棄*/]
フィールド名:「Script」のVBScriptを実行。VBS内(patrn、replStr)に値が設定されます。
Function ReplaceTest(str1)は、読み込まれますが、まだ実行されません。
フィールド設定 [test::er; iiil_Exe( test::script )]
VBScriptで文字列を扱う場合、"(ダブルクォーテーション)を2つにし、エスケープする必要があるので " -> "" (1個から2個)へ置換します。
あと、改行もダメなようなので、 " & vbCr & " に置換します。( 以下 \" は、ファイルメーカーでの " のエスケープ)
変数を設定 [$val; 値:Substitute ( test::Value ; ["\"" ; "\"\""] ; [ "¶" ; "\" & vbCr & \"" ])]
置換前
フィールド名
Value
値
<html>
<body text="#000000">
<P>Hello!</P>
<h1>"hoge"</h1>
</body>
</html>
置換後
変数
$val
値
<html>" & vbCr & "
<body text=""#000000"">" & vbCr & "
<P>Hello!</P>" & vbCr & "<h1>""hoge""</h1>" & vbCr & "
</body>" & vbCr & "</html>
もう一度、iiil_Exe()を実行しVBS内(Str1)の値を設定します。
フィールド設定 [test::er; iiil_Exe( "str1=" & "\"" & $val & "\"" )]
Function ReplaceTest(str1)を iiil_eval( "ReplaceTest(str1)" ) で実行し値を取得します。
フィールド設定 [test::Result; iiil_eval( test::Script_eval)]
結果
フィールド名
Result
値
Hello!
"hoge"