phpプログラムに dat=<?xml version="1.0" encoding="UTF-8"?> というクエリを URLエンコードして POST で送ったら,あるサーバでは echo $_REQUESTdat
; の結果が <?xml version="1.0" encoding="UTF-8"?> になり,別のサーバは <?xml version=\"1.0\" encoding=\"UTF-8\"?> のようにクオーテーションがエスケープされてしまった.んで,原因がまったくわからず自分のプログラムがおかしいと思って無駄な時間を費やし…
結論としては magic_quotes_gpc などというものが勝手にエスケープしてくれていると.てきとうに調べると次のようなコードが見つかったので使ってみた.get_magic_quotes_gpc() というのがフラグになってるのねと.
function gpc_stripslashes($st) { if (get_magic_quotes_gpc()==1) { return stripslashes($st); } else { return $st; } }
参考:
http://www.spencernetwork.com/Forums/bin/YaBB.cgi?board=cgi;action=display;num=1122598707
- Newer: AWK - はじめ