На самом деле простой вопрос: как я могу preg_replace
символ обратной косой черты?
Да, но вам нужно избежать этого. Когда вы используете его в regexp, используйте \\
чтобы использовать его в замене, используйте \\\\
(который превратится в \\
который будет интерпретироваться как одна обратная косая черта).
Вам нужно избегать обратной косой черты: \\
Из руководства по preg_replace
:
Чтобы использовать обратную косую черту взамен, она должна быть удвоена (строка
"\\\\"
PHP).
Кроме того, используйте preg_quote
для подготовки строки для операции preg_*
.
Вы можете попробовать
$a = "\\\\"; $a = preg_replace('/\\\\/','/',$a);
Вывод:
'//'
Escape \
with \
: \\
preg_replace('/\\/', 'REMOVED BACKSLASH', 'sometest\othertest');
Используйте его дважды, например, \\
Этот код работает для меня
$text = "replace \ backslash"; $rep = ""; $replace_text = preg_replace( '/\\\\{1}/',$rep,$text); echo $replace_text;
Вывод :
заменить обратную косую черту