久々にPHP4系使ったり

あろ〜は。

久しぶりにPHPの4系を使うことになったのだわ。

んで。解決しない問題が一つ。

バックスラッシュ、通称円マークの増殖問題。5C問題とゆーアレ。これはphp.iniの「magic_quotes_gpc」てやつをオフってやれば解決するんだけど、値を出し入れしてると、

"\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"

ってゆー楽しい状態になってひゃっほい! 開発者の頭の中もひゃっほい状態だ!

このオプションはPHP6から消えちゃってたりするらしいけど、困った事にPHPのバージョンアップもphp.iniの変更も、まーできないわけで。

答え。頭下げる。いじょ。

2010/01/01追記

$_POSTや$_GET、$_REQUESTに対してstripslashesかけたら、回避でけた。以下は$_POSTの例。

foreach ($_POST as $key => $value) {
	$_POST[$key] = stripslashes($value);
}

ちなみに、内部データとしてはエスケープされてないので、セッション変数とかに保存する前に上記処理しちゃいけないよ。表示前とか、データベースに突っ込む前とかにしてね。