略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: SolrUtils::escapeQueryChars

2024-04-30

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryCharsEscapes a lucene query string

说明

public static SolrUtils::escapeQueryChars(string $str): string|false

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.

add a noteadd a note

User Contributed Notes 1 note

up
-8
Ian
8 years ago
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);
?>

官方地址:https://www.php.net/manual/en/solrutils.escapequerychars.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3