JackShcherbakov
@JackShcherbakov

Функция trim() выводит крякозябры. Что делать?

Здравствуйте!
Вот код:
<pre>
<?php
	$str = "Фриланс";
	print trim($str,"Фри");
?>
</pre>

Вот результат:
�анс
Вот документация: php.net/manual/ru/function.trim.php

Как исправить?
Заранее спасибо!
  • Вопрос задан
  • 212 просмотров
Решения вопроса 2
@po5epT
Как исправить?


Не использовать trim для этих целей.
А посмотреть например на substr, а точнее на его аналог для многобайтовых строк mb_substr();

$str = "Фриланс";
mb_substr($str, 3, null, "UTF-8");

Результат:
ланс
Ответ написан
Комментировать
slo_nik
@slo_nik Куратор тега PHP
Добрый вечер.
Из документации по Вашей ссылки
Эта функция возвращает строку str с удаленными из начала и конца строки пробелами. Если второй параметр не передан, trim() удаляет следующие символы:

" " (ASCII 32 (0x20)), обычный пробел.
"\t" (ASCII 9 (0x09)), символ табуляции.
"\n" (ASCII 10 (0x0A)), символ перевода строки.
"\r" (ASCII 13 (0x0D)), символ возврата каретки.
"\0" (ASCII 0 (0x00)), NUL-байт.
"\x0B" (ASCII 11 (0x0B)), вертикальная табуляция.

Значит Вам нужно другое решение. trim не применяется для разделения строки, тем более, что есть специальные функции для работы с многобайтовыми строками(utf8)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы