PHP 8.1.28 Released!

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryCharsЭкранирует строку запроса Lucene

Описание

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

Lucene поддерживает экранирование специальных символов, которые являются частью синтаксиса запроса.

Текущий список специальных символов:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

Эти символы являются частью синтаксиса запроса и должны быть экранированы

Список параметров

str

Строка запроса, которую нужно экранировать.

Возвращаемые значения

Возвращает экранированную строку или false, если возникла ошибка.

add a note

User Contributed Notes 1 note

up
-8
Ian
10 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);
?>
To Top