2016-06-06 3 views
2

Я хочу заменить одиночные кавычки обратной косой чертой. Пробовал приведенный ниже PHP-код, когда я делаю эхо, он отображается правильно, но когда я делаю error_log, он отображает дополнительную обратную косую черту. Не уверен, что я делаю что-то неправильно, или функция error_log убегает.preg_repace вопрос с одной цитатой.

$cont="a'b"; 
// display a\'b 
echo preg_replace("/'/", "\\'" , $cont); 
// displays a\\'b in apache error log file 
error_log(preg_replace("/'/", "\\'" , $cont); 
+1

'Эхо str_replace ("'", "\ '", $ cont); ' – Thamilan

+0

function addslashes() – splash58

+0

Механизм регулярных выражений должен видеть:' \\' ', поэтому строка регулярного выражения должна быть:' '/ \\\\ '/" "' - since интерполяция строк ea ts первая обратная косая черта. – ridgerunner

ответ

0

У вас есть синтаксическая ошибка в коде. Вы пропустили закрывающую скобку на последней строке, где вы называете error_log():

Полный код:

$cont="a'b"; 
 
// display a\'b 
 
echo preg_replace("/'/", "\\'" , $cont); 
 
// displays a\\'b in apache error log file 
 
error_log(preg_replace("/'/", "\\'" , $cont));

Снимок экрана: enter image description here

Смежные вопросы