SolrUtils::escapeQueryChars()
(PECL solr >= 0.9.2)
Escapes a lucene query string
说明
public static SolrUtils::escapeQueryChars(string $str): string
Lucene supports escaping special characters that are part of the query syntax.
The current list special characters are:
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /
These characters are part of the query syntax and must be escaped
参数
- $str
This is the query string to be escaped.
返回值
Returns the escaped string 或者在失败时返回FALSE
.
A way of doing that with a regular expression: <?php // Lucene characters that need escaping with \ are + - && || ! ( ) { } [ ] ^ " ~ * ? : \ $luceneReservedCharacters = preg_quote('+-&|!(){}[]^"~*?:\\'); $query = preg_replace_callback( '/([' . $luceneReservedCharacters . '])/', function($matches) { return '\\' . $matches[0]; }, $query); ?>