Я получил ненормальную строку 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 вывод:
Пустая строка
Проблема:
- Общее количество символов составляет около 231.Очевидно, что меньше 974.
mb_strlen($value2) = 974
, если заменить mb_strlen
на strlen
, получить те же 974 - при вызове
php mb_substr($value2)
, вернуть пустую строку.используйте substr, получите ту же пустую строку.
В чем причина и как это исправить?Спасибо.