3

私の文字列は

$str = '<img src="\"images/hai.jpg\"" alt="" /> Text <img src="\"images/hai.jpg\"" alt="" />';

文字列からすべての「」を削除したい。

4

3 に答える 3

8

正規表現を探しているのではなく、stripslashes($str)方法を探していると思います。

編集:コメントから、私はあなたが何も置き換えないことを理解しています、@ Gunboが言ったように、ここで\"は単純なものを使用する必要があります:str_replace

$str = ...;
$newStr = str_replace('\"', '', $str);

echo $newStr;

これには正規表現を使用できますが、pRegライブラリは高速ではありません。同じことを行うstr_ *または配列バリアントが見つかった場合は、preg_*の代わりにそれを使用することを常にお勧めします。

于 2012-12-16T18:03:29.997 に答える
1

を使用しても、文字列からstripslashes($str)すべてが削除されるとは限りません\。存在するインスタンスがある\\場合、それは0ではなく1つのスラッシュになります。それらをすべて取り除くには、おそらくを使用するのが最善ですstr_replace

また、OPが述べているように、彼は削除/"したいと考えています。str_replace

于 2012-12-16T18:06:55.183 に答える
1

これは、複数のエスケープシーケンスを通過した一種のデータ文字列のように見えます。バックスラッシュと重複した引用符の根本的な原因を探すことをお勧めします。PHPでは、魔法の引用符がこの種のことを引き起こす可能性があります。あなたがこの記事にたどり着くことができれば、それは問題を説明します。

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_6630-Magic-Quotes-a-bad-idea-from-day-one.html

HTH、〜レイ

于 2012-12-16T18:08:51.800 に答える