Ошибка PHP substr () PHP

Когда я использую substr() я получаю странный символ в конце

 $articleText = substr($articleText,0,500); 

У меня есть вывод 500 символов и <-

Как я могу это исправить? Это проблема кодирования? Мой язык – греческий.

substr подсчитывает байты, а не символы.

greek, вероятно, означает, что вы используете некоторую многобайтовую кодировку, например UTF-8, и подсчет для каждого байта для них не очень хорош.

Возможно, использование mb_substr может помочь здесь: функции mb_* были созданы специально для многобайтовых кодировок.

mb_substr этого используйте mb_substr , он может иметь дело с несколькими кодировками, а не только однобайтными строками в качестве substr :

 $articleText = mb_substr($articleText,0,500,'UTF-8'); 

Похоже, вы нарезаете символ юникода пополам. mb_substr этого используйте mb_substr для надежной mb_substr .

Альтернативное решение для кодированных строк UTF-8 – это преобразует UTF-8 в символы перед резкой подстрокой.

 $articleText = substr(utf8_decode($articleText),0,500); 

Чтобы вернуть строку articleText в UTF-8, потребуется дополнительная операция:

 $articleText = utf8_encode( substr(utf8_decode($articleText),0,500) ); 

используйте эту функцию, это сработало для меня

 function substr_unicode($str, $s, $l = null) { return join("", array_slice( preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY), $s, $l)); } 

Кредиты: http://php.net/manual/en/function.mb-substr.php#107698

ms_substr () также отлично работает для удаления странных прерываний линии, которые у меня возникли после анализа кода html. Проблема не была решена:

  trim() 

или:

  var_dump(preg_match('/^\n|\n$/', $variable)); 

или:

 str_replace (array('\r\n', '\n', '\r'), ' ', $text) 

Не поймайте.

Вы пытаетесь разрезать символ юникода. mb_substr() я предпочитаю вместо substr() try mb_substr() в php.

зиЬзЬг ()

 substr ( string $string , int $start [, int $length ] ) 

mb_substr ()

 mb_substr ( string $str , int $start [, int $length [, string $encoding ]] ) 

Для получения дополнительной информации о substr () – Credits => Check Here