preg_replace 双斜杠问题 - php

preg_replace double slash issue - php

如何使用 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

如果可能请告诉我。

可以,但您需要添加更多斜线

<?php

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

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

https://3v4l.org/r8pAS