Я неправильно использую утилиту Text :: tokenize в CakePHP?

Я пытаюсь токенизировать поисковый запрос, как я называю Text::Tokenize функция очень похожа на пример на сайте Cake, но я сталкиваюсь с проблемой всякий раз, когда у меня есть " с - прямо перед ним.

$query = 'question "help needed" -"garbage" contents of query';
$tokens = Text::tokenize( $query, ' ', '"', '"');

foreach ( $tokens as $index => $token) {
echo $token . "\n";
}

Я получаю следующий вывод.

question
"help needed"-"garbage" contents of query

Но разве я не должен получить следующее? Что мне не хватает?

question
"help needed"-"garbage"contents
of
query

Стоит отметить, что это не происходит для запроса 'question -"garbage" contents of query'

1

Решение

Это не имеет ничего общего с - char, но с появлением нескольких левых / правых границ. Из описания API не ясно, предназначен ли метод для поддержки нескольких границ, поэтому я бы сказал, что он либо не поддерживается, либо является ошибкой.

Беглый взгляд на источник, я бы сказал, что это ошибка. open флаг Вот (может быть, не единственная проблема, или, может быть, даже не часть проблемы, я не могу проверить это прямо сейчас). В любом случае вы можете открыть вопрос на GitHub, просить улучшения, соответственно, регистрируя поведение как ошибку.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]