Убрать nbsp из строки
Здравствуйте. Достался тут проект на CodeInteger . Есть строка в БД (имя категории товара например). При выводе вместо пробела вставляется   . Что я уже только не пробовал: str_replace , preg_replace и т.д. Но она все равно остается! В БД обычный пробел. Подскажите пожалуйсте, откуда она может браться и как избавиться? Это нужно исправить, чтоб был перенос на новую строку:
скриншот UPDATE:
К строке на английском не добавляется. Там обычный пробел. Что-то с кодировкой
Отслеживать
19.9k 5 5 золотых знаков 44 44 серебряных знака 61 61 бронзовый знак
задан 5 сен 2013 в 10:25
2,230 5 5 золотых знаков 38 38 серебряных знаков 72 72 бронзовых знака
Как убрать   (неразрывный пробел) с помощью php
Часто бывает, что информация, которую мы получаем из базы данных приходит к нам не совсем в том виде, в котором бы должна.
Из-за этого приходится обрабатывать пришедшие данные, чтобы получить необходимый результат. Ситуации бывают разные. Например, бывает, что нужно заменить определенные символы и слова на другие или обрезать пришедшую строку до определенного символа.
Сегодня поговорим о ситуации, когда строка приходит вроде бы с пробелами, но на самом деле вместо пробелов в коде вы увидите . Это легко увидеть, если посмотреть на выводимую переменную в инспекторе кода любого браузера.
Зачем убирать закодированный неразрывный пробел
– По сути является элементом компьютерной кодировки. Визуально на веб-странице он отображается как обычный пробел. Главное его отличие – это то, что является неразрывным пробелом, а следовательно строка не разрывается.
Почему и когда это важно?
Ну например, если мы захотим для какой-то строки использовать css свойство word-break, чтобы задать определенные правила переноса, то для строки с неразрывными пробелами это свойство сработает некорректно.
Убираем неразрывные пробелы из строки
Если информация приходит из базы данных, то на ум приходят 2 варианта: либо прошерстить базу и заменить неразрывные пробелы, либо исправить уже пришедшую строку.
Мы воспользуемся вторым вариантом. Сразу хочу сказать, что просто str_replace здесь не сработает. Нужно будет добавить в нашу формулу еще и htmlentities – которая преобразует все возможные символы в соответствующие html сущности.
Допустим, что мы получили из базы данных строку с неразрывными пробелами и сохранили ее в переменной my_text.
Тогда код для замены неразрывных пробелов на обычные будет выглядеть так:
Теперь в переменной $new_text у нас хранится обработанный текст.
Вот и всё. Надеюсь эта статья вам поможет. Делитесь в социальных сетях, оставляйте комментарии. Приятной работы
Как убрать nbsp?

Ребят, получил текст в вордовском файле, закидываю его в редактор вордпресс(не визуальный, а текстовый) и получаю, что текст вылазиет за границы, попробовал кинуть текст на другие свои сайты-та же проблема. Глянул исходный код, а там вот что
Я пробовал этот текст загонять в Notepad++ и менять кодировки, ничего не помогает/
Даже тут этот текст вылезает за границы https://jsfiddle.net/0q4uwp64/
Кто знает как это исправить? Даже самому интересно как вообще так вышло?
- Вопрос задан более трёх лет назад
- 976 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2

Find and replace
Ответ написан более трёх лет назад
Нравится 1 2 комментария
nikfcsm @nikfcsm Автор вопроса
так он не видит этот символ, только в исходном коде

nikfcsm, В нотепад++ кидаете и делаете замену
В ворде есть режим когда показывается такие вещи, но я не в курсе как его включить
Как убрать nbsp из текста
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel
Помог: 3 раз(а)
Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.
Само собой я знаю что ответят мне тут же, и если я посмотрю
на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
вопрос автора и еще два сообщение вида Ответ + Спасибо
После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..
Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.
Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.
На последок как оно происходит на форумах
Цитата:
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.
Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12