Неверная длина строки PHP и при поиске Elasticsearch с использованием PHP - PullRequest
0 голосов
/ 23 ноября 2018

Я получил ненормальную строку PHP от Elasticsearch.

шаг 1: php curl, чтобы вызвать эластичный поиск для получения результата $value,

шаг 2: php $value2 = strip_tags($value); // to remove all html tags

шаг 3: var_dump($value2)

шаг 4: echo 'len='.mb_strlen($value2);

шаг 5: echo 'substr='.mb_substr($value2);

шаг 3 Вывод:

string (974) «Имбирь Никогда не верь, что диета может помочь при раке, но хорошая попытка. 2018-01-22 11:20:21 Железа Полностью не перекусы? В списке должны быть перекусы, верно ... 2018-01-22 10:25:32 Reloated Article: Как лечить рак мочевого пузыря с помощью диеты? "

Шаг 4 вывод:

len = 974

шаг 5 вывод:

Пустая строка

Проблема:

  1. Общее количество символов составляет около 231.Очевидно, что меньше 974.
  2. mb_strlen($value2) = 974, если заменить mb_strlen на strlen, получить те же 974
  3. при вызове php mb_substr($value2), вернуть пустую строку.используйте substr, получите ту же пустую строку.

В чем причина и как это исправить?Спасибо.

1 Ответ

0 голосов
/ 23 ноября 2018

Извините, я исправляю это.Настоящий текст строки содержит много пробелов, и они не отображаются в браузере.Удалите их, и все в порядке.

...