代替

2012-01-07 18 views
-5

可能性の重複:
Converting ereg expressions to preg
eregi_replace(“[\]”,'',$data) — what does this line do?代替

これが正しいだろう、私はphpmailerのを使用していますが、それは私がこれを更新しようとしている、eregi_replaceを使用して、I正しい場所に/iがあるかどうかはわかりません。

$body = eregi_replace("[\]",'',$body); 

はなる:あなたはpreg_replace('/\\/i', '', $body)を書く必要があるだろう

$body = preg_replace("[\]",''/i,$body); 

答えて

0

号。これはもちろん、体の中のすべてのバックスラッシュを削除したいと仮定しています。

+0

正規表現でそのまま使用する場合は、バックスラッシュを4回入力する必要があります。 – TimWolla

+0

そこに。私の悪い。 –

0
$body = preg_replace("/[\\]/i","",$body); 
+0

これを使用しようとするとこのエラーが発生します。 –

+0

警告:preg_replace()[function.preg-replace]:コンパイルに失敗しました:C:\ server2go \ server2go \ htdocs \ chandlers \ components \ com_jumi \ views \ application \ view.html.php(38):eval() '9行目のコード –

+0

はい、もちろんです - 大変申し訳ありませんが、大括弧で\\\\を使用してください – SmokeyPHP

1

あなたの正規表現はすべて\を身体から削除します。 \には大文字小文字の区別がないため、大文字小文字を区別する必要はありません。大文字小文字を区別しないと、ここで大文字と小文字を区別試合の間に違いが自分ではないので、私が言ったようにあなたがiを必要としないことはない

$body = preg_replace('/\\\\/i', $body); 

:あなたは次のようにその正規表現を記述します。また、実際の正規表現はちょうど\です。 /はデリミタです。バックスラッシュが終了区切り文字をエスケープするので、式/\/が無効であるため、2つのリテラルのバックスラッシュ\\になるため、4つのバックスラッシュが必要です。