2010-02-08 4 views

ответ

14

Да, но вам нужно, чтобы избежать его. При использовании в регулярном выражении используйте \\, чтобы использовать его взамен, используйте \\\\ (который превратится в \\, который будет интерпретироваться как единый обратный слэш).

2

Побег \ с \: \\

preg_replace('/\\/', 'REMOVED BACKSLASH', 'sometest\othertest'); 
6

Вам нужно, чтобы избежать обратной косой черты: \\

Из manual on preg_replace:

Чтобы использовать обратную косую черту в замене, она должна быть в два раза ("\\\\" Строка PHP).

В качестве альтернативы, используйте preg_quote, чтобы подготовить строку для операции preg_*.

+0

Это не сработало для меня. –

+0

@ajk вы используете одинарные кавычки или двойные кавычки? –

+0

$ the_name = preg_replace ('\\\\', 'u', $ the_name); –

5

Вы можете попробовать

$a = "\\\\"; 
$a = preg_replace('/\\\\/','/',$a); 

Выход:

'//' 
0

Этот код работает для меня

$text = "replace \ backslash"; 
    $rep = ""; 
    $replace_text = preg_replace('/\\\\{1}/',$rep,$text); 
    echo $replace_text; 

Выход:

заме e обратная косая черта