php function preg_quote
转义这些字符. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -
你能否建议我可以用来逃避这些角色:+ - && || ! ( ) { } [ ] ^ " ~ * ? : /
已修改(根据“暂停”的要求):
我正在实施Solr
搜索,并说:
Solr出现时会给出以下字符特殊含义 在查询中:
+ - &amp;&amp; || ! (){} [] ^“〜*?:/要使Solr在字面上解释任何这些字符,而不是作为一个特殊字符,先于 带有反斜杠字符的字符。
答案 0 :(得分:4)
这可能会对您有所帮助:
<?php
$subject = "+ - && || ! ( ) { } [ ] ^ \" ~ * ? : /";
$result = preg_replace('%([+\-&|!(){}[\]^"~*?:/]+)%', '\\\\$1', $subject);
echo $result;
?>
答案 1 :(得分:1)
也许不是最好的方法,但会起作用:
str_replace('+','\+',$MyString);
str_replace('-','\-',$MyString);
...............................;
...............................;
答案 2 :(得分:0)
工作职能
function escapeWildcards($s){
$escapeChars = [ '%', '_'];
foreach ($escapeChars as $escapeChar){
$s = str_replace($escapeChar, '\\'.$escapeChar, $s);
}
return $s;
}