2012-01-12 11 views
1

私はスラッシュをすべて取り除く必要があるデータを$_POSTとしています。ただし、フォームにエラーがある場合は、フォームにエラーが発生したときに、投稿データをユーザーに印刷して再入力する必要がなくなります。彼らがページを再度提出すると、エラーが発生するたびにスラッシュの数がかなり増えます。私が持っているコードは簡単で、stripslashes($_POST['first'])を使ってエラーを返します。私もstr_replaceに最後の\を取り除こうとしましたが、これは動作しません。何か案は?php stripslashesが1つのスラッシュを残す

コードEDIT --------

$first = stripslashes($_POST[f_name]); 
    $first = str_replace('\\' , '', $_POST[f_name]); 
+0

あなたのコードはおそらく見えますか? –

+0

私は上記のコードを追加しました – Pengume

答えて

4

stripslashes()バックスラッシュはバックスラッシュをエスケープするために使用されるためにのみ、(それらが連続している)最初の連続したバックスラッシュを取り除き。それはフロントかどう

あなたが削除しようとしているスラッシュ、 使用str_replace("/", "", $_POST['first']);

+0

私はすでに試してみましたが、最後に/ – Pengume

+2

を取り除かなかったので、フロントスラッシュを取り除くはずはありません...バックスラッシュのみです。 –

2

はあなたが有効にmagic_quotesのを持っていますstr_replace("\\", "", $_POST['first']);

更新を使用する必要がありますか? stripslashesは文字をエスケープするために使用された\だけを削除します。だから、あなたがあなたのテキストに\を望むなら、あなたは2つを使ってそれをエスケープする必要があります:\。この場合、2つの\はストライプスラッシュで1つに変換されます。処理を行う前にprint_r($ _ POST)を実行して、実際にPOSTに何が入っているかを確認してください。

1

私はちょうど行で、またはあなたのケースでは二回にstripslashes機能を実装し....同様の問題を抱えていたし、非常に粗溶液を使用:粗

$first_temp = stripslashes($_POST[f_name]); 
$first = stripslashes($first_temp); 

が、それは私のために働きました!

0

あなたのポストアレイには、 "isn \ 'tまたはWouldn \' t"のようなデータベースから取得したものが含まれていると思うので、データベースに更新してください。あなたは

stripeslashes(データ[ 'description_to_textarea'])

問題の修正プログラムを使用フィールドにデータを読むとき、あなたは一つのことを行います。

関連する問題