質問: str_replace("\0", "", $arr); } echo $arr; ※結果:abc\0def スクリプトコードはutf-8で、magic_quotes_gpcはoffです。 他にどこをチェックすればよいかわからず投稿しました。 チェックすべきところを教えていただけないでしょうか? 宜しくお願いいたします。
回答: こちらが参考になる気がします。 ttp://d.hatena.ne.jp/elseif/20080421/1208604585 上記ページをもとに、簡単にお話しすると、 注目すべきは、クオテーションです。 postでキャッチする値に含まれる「\0」をサニタイズ(洗浄)したいのであれば、 $arr = str_replace('\0', "", $arr); と、シングルクオテーションで「\0」をくくれば、 希望とする結果が得られると思います。 「\0」は、 ダブルクオテーションでくくると、展開されてヌルバイトとして機能し、 シングルでくくると、展開されずに文字列として扱われるようです。