[PHP-users 34440] Re: htmlタグのエスケープ処理

"鈴木孝征 (Suzuki Takamasa)" takamasa @ thaliana.myhome.cx
2009年 3月 19日 (木) 16:51:34 JST


西村様へ。鈴木と申します。

> PHP 5.2.6
> Apache 1.3.24
> にて、POSTされた投稿データから許可したタグ以外をエスケープ処理しようとしております。
> そこで、下記モジュールを作成し下記データを通した所、
> <p style="color:red;">
> <img src="image.jpg" />
> <font color="Green">
> <a href="link.html" target="_blank_">
> 上記、4つのタグだけが、正規表現にマッチしません。

上記のテストした文字には「g」が入っているのでだめでしょう。
ためしに <table border="1g">とやってみてはどうでしょうか。

>   $Patern_1 = "(&lt;)(".$word.")( *)([^(&gt;)]*)(&gt;)";

つまり [^(&gt;)]が意図したとおりになっていません。[]の中は一文字しかだめ
だと思います。&とgとtと;以外の意味にとらえられています。

どういう正規表現がいいかはわかりません。すみません。

あとほんとにつまらないことですが、patternが正しいスペルです。



PHP-users メーリングリストの案内