質問: str_replace($search,$replace,$naiyo); -------------------------------------------------- シングルクォーテーションは置換された(文字列として表示された)のですが、ダブルクォーテーションは表示されず、ダブルクォーテーション以下の文字列が消えてしまいます。 置換ができていないというよりも、そもそもダブルクォーテーションが検索に引っかかってもいないようです。 どのようにすればダブルクォーテーションも置換できるか、お分かりの方がいらっしゃいましたらご教示ください。 よろしくお願いいたします。
回答: 連投すいません。 今現在手もとのPHPが5.4系なので状況を確認できないのですが GET POST等されたとき古いPHPだとでデフォルトでシングルクオーテーション・ダブルクオートがバックスラッシュでエスケープされます。 この magic_quote_gpcをOFFにするのが一番いいのですが、それができない場合 まず、バックスラッシュでエスケープされるということは $naiyo = "いいい\\'えええ\\\""; 上記の様な形ででHTTPリクエストが帰ってきます。 ということは、置換系の関数で\\をとってやればいいということになります。 たとえば以下のような感じ? $search = array('\\','\\'); $replace = array('',''); $naiyo2 = str_replace($search,$replace,$naiyo); print $naiyo2; かななあ・・・。ごめんなさい、掲題の環境がないから憶測だけど。 できなかったらすんません。