@helixly

Как убрать непонятный пробельный символ в конце слова?

Всю голову сломал. Распарсеный текст прошедший через
trim(strtolower(preg_replace("/\s+/, "", $value)));


на выходе получается строка с непонятным пробельным символом в конце строки. И размер строки больше на 2 байта

string(38) "среднеемедицинское "
string(36) "среднеемедицинское"


Где косяк?
  • Вопрос задан
  • 584 просмотра
Пригласить эксперта
Ответы на вопрос 4
mannaro
@mannaro
Умею профессионально гуглить
Уверен, что этот символ появляется в самом начале, а не где-то уже после trim?
Ответ написан
mahoho
@mahoho
Full stack certified PHP developer.
Там не один символ, а два, о чем вывод var_dump()'ов вам прямо говорит. Выражение удаляет пробельные и непечатные символы:
preg_replace("/\s+|[[:^print:]]/, "", $value)
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
trim(strtolower(preg_replace_all("/[^.,:-а-яА-Я0-9a-zA-Z ]+/usi", "", $value)));
Ответ написан
romy4
@romy4
Exception handler
\s+ заменяет только 0x20, 0x9, 0xA, 0xD о чём прямо сказано в мануале. Если что-то и выглядит как пробел, может спокойно им не являться. А есть ещё разные типографские неразрывные пробелы и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы