Обрезать & NBSP; с PHP
Если я использую trim, он может удалить только пробел, но не тот Как я могу использовать обрезку PHP, чтобы получить результат следующим образом?
7 ответов
Обнаружено это на php.net, отлично работает:
Более инклюзивный ответ для тех, кто хочет просто сделать обрезку:
То же управление обрезкой html-объекты:
если ваша строка имеет » «,
просто помните, что вам нужно отобразить результат str_replace, и вам не нужно беспокоиться о белых пространствах, браузер будет показывать только одно пробел.
Немного поздно ответить, но, надеюсь, может помочь кому-то другому. Наиболее важным при извлечении контента из html является использование utf8_decode() в php. Тогда все остальные струнные операции становятся легкими. Даже иностранные символы могут быть заменены путем непосредственного копирования вставки символов из браузера в php-код. Следующая функция заменяет пробелом. Затем все лишние пробелы заменяются одним пробелом, используя preg_replace() . Верхние и конечные пробелы удаляются в конце.
Как убрать неразрывный пробел из строки?
Считываю значение цены детали с прайса на google docs, в ячейку менеджер сохранил значение с неразрывным пробелом (возможно копипастил откуда то). Приходит такая строка ( так выглядит на сайте и в инспекторе joxi.ru/BA0dZPGIJdz5GA ):
1 000
Вначале пытался прогнать через htmlspecialchars() а затем вычистить пробелы с помощью str_replace() — не помогло. Так же пытался в str_replace() заменять строку ‘ ‘ — не помогло. Нашёл регулярку:
preg_replace(‘#(?: )+#s’, », $string);
не помогло, хотя при онлайн проверки регулярного выражения — работает отлично. Не могу понять в чём дело, как же удалить этот ненавистный пробел ( боюсь если менеджеров по рукам бить результата не будет, поэтому надо на стороне кода это решить).
How to remove from a UTF-8 string?
This is a problem when the string is long enough and you have maximum width set:
In order to get ride of entities I’ve tried to use the following filters without success:
You have a PHP fiddle to see this in action (I’ve had to codify the string in hex from the database output; the string is in spanish, sorry).
How to deal with this? Why html_entity_decode() is not working? And what about the replace functions? Thanks.
Как удалить & amp; nbsp; из строки UTF-8?
Моя база данных возвращает несколько строк, таких как:
Это проблема, когда строка достаточно длинная и у вас установлена максимальная ширина:
Для того, чтобы прокатиться лица, которые я пытался использовать следующие фильтры без успеха:
У тебя есть PHP скрипка, чтобы увидеть это в действии (Мне пришлось кодифицировать строку в шестнадцатеричном виде из вывода базы данных; строка на испанском языке, извините).
Как с этим бороться? Зачем html_entity_decode() не работает? А как насчет замены функций? Благодарю.
Решение
Это становится сложнее, это не так просто, как замена обычной строки.
или это, выше должно работать:
Другие решения
Я думаю strip_tags($string) сделает работу за вас. Эта функция используется для удаления тегов html и php.