preg_replace双斜线问题 - php

时间:2018-03-23 17:43:00

标签: php regex preg-replace

如何使用preg_replace

添加双\

我正在使用的代码:

function escape_sql_regexp( $str ) {
    return preg_replace('/[+*?[\\^\\]$(){}=!|:,]/', '\\\${0}', $str);
}

echo escape_sql_regexp( '(541) 754-3010' );

输出: \(541 \)754-3010
预期双斜杠输出: \\(541 \\)754-3010

请告诉我是否可能。

1 个答案:

答案 0 :(得分:2)

是的,但是你需要添加更多斜杠

<?php

function escape_sql_regexp( $str ) {
    return preg_replace('/[+*?[\\^\\]$(){}=!|:,]/', '\\\\\\\\${0}', $str);
}

echo escape_sql_regexp( '(541) 754-3010' );

https://3v4l.org/r8pAS