Однажды один мой знакомый обратился к мне с вопросом, почему на смартфоне текст его сайта на WordPress “вылезает” за экран, перенос не срабатывает.

Мне стало интересно и я приступил к расследованию.

Первое: Я стал проверять поступившую информацию, и да - она подтвердилась.

Второе: В визуальном редакторе перешел в режим HTML

В режиме HTML я увидел примерно следующее:

Третье: Эта штука   ни что иное как:

Nbsp (англ. non-breaking space) — символ неразрывного пробела в тексте. В отличие от обычного пробела, не даёт программам отображения и печати разорвать строку в месте, где расположен. 

Виновник был найден.

Четвертое: В режиме визуального редактирования никаких nbsp нет.

Пятое: Ох уж этот гугль.

Я стал искать через гугль что то про "WordPress вставляет nbsp в текст." и нашел массу страниц на которых обсуждается это вот уже десяток лет.

Например:

или:

Получается,  что для того чтобы как то побороть этот nbsp придумывают специальные функции в php и прочие фокусы обвиняя WordPress в том, что "WordPress вставляет nbsp" вместо пробела на свое усмотрение.

Шестое: Разбираемся. Когда я набирал текст на клавиатуре, то при переходе в режим редактирования HTML и обратно никаких "фокусов" не было. А вот при работе с текстом на который указывал приятель - ситуация подтверждалась.

Начинаем охоту за nbsp.

Седьмое: Для поиска скрытых символов я решил воспользоваться приложением Notepad++ там в отличии от обычного блокнота из Windows есть соответствующая функция.

включаем

Как говорится - "узрите разницу".

Восьмое: Адвокат WordPress

Друг пояснил, что текст по которому он обратился был им набран не на клавиатуре, а был скопирован и вставлен в режиме визуального редактора. 

Эксперимент с Notepad++ показал что этот NBSP был в этом тексте. Но в режиме визуального отображения отличить обычный пробел от неразделяемого пробела не представилось возможным. И поэтому вина пала на WordPress который по сути работал ровно так как и должен. Если ему вставляют NBSP то он есть если вставляют простой пробел - то он и есть. И никаких "фокусов" по сути не нужно. Нужно контролировать что вставляется.

Девятое: Что ж делать.

И так задача - заменить непереносимый пробел на обычный - на котором система может сделать перенос текста.

Тут нам на помощь вновь приходит Notepad++

В графе 1 - найти вставляем NBSP - (можно скопировать из самого текста).

В графу 2 - заменить на: вставляем просто пробел с клавиатуры.

Жмем кнопку заменить всё.

И получаем текст с обычными пробелами вместо непереносимых.

Далее вставляем этот текст на сайт через редактор WordPress. И ничего никуда на телефоне не уезжает за экран. - Profit!

https://www.scorpey.ru/2026/04/wordpress.html

Комментарии (5)


  1. Squoworode
    20.04.2026 18:38

    — Почему WordPress вставляет nbsp?

    — Потому что вы сами приносите его снаружи.

    Анекдот напомнило: Наконец-то ученые открыли секрет долголетия ежей. Оказывается, никакого секрета нет. Да и живут они, собственно, недолго.


    1. Scorpey Автор
      20.04.2026 18:38

      спасибо за добрый юмор. По сути так и есть.


  1. init0
    20.04.2026 18:38

    Интересное расследование

    Я стал искать через гугль что то про "WordPress вставляет nbsp в текст." и нашел массу страниц на которых обсуждается это вот уже десяток лет.

    Все верно за одним исключением - мы действительно так страдали много лет сидя на TinyMCE (wisywig редактор для WordPress) и его привычке вставлять неразрывные пробелы и весь остальной мусор в код. Это происходит даже без вставки какого-либо контента со сторонних сайтов - двойной перевод строки в режиме визуального редактора и вот у вас в коде уже &nbsp; который при рендере оборачивается в <p>. Но уже лет как 6 это в прошлом т.к. дефолтным редактором в WordPress стал Gutenberg(react) у которого нет всех этих проблем.

    Причем у вас там какая-то путаница: на 2-м скриншоте явно видно, что это Gutenberg а не TinyMCE. Это значит, что текст вы вставляли/вставляете не в Gutenberg, а в TinyMCE. Решение простое и очевидное - перестаньте использовать TinyMCE.


    1. Scorpey Автор
      20.04.2026 18:38

      странно, но никаких дополнительных плагинов - едиторов не используется.


  1. Rend
    20.04.2026 18:38

    Так и не понял - а в чём, собственно, проблема? Да, есть NBSP. Должен присутствовать в текста только тогда, когда нужно. Например, чтобы исключить подобное:

    И.И.

    Иванов

    Классический пример типографики: Инициалы имени/отчества и фамилии должны быть в одной строке. И здесь NBSP заменять на обычные пробелы нельзя. Даже если очень длинная фамилия (Квазиантихороводоводоведофиловский) и ограниченная ширина строки будет корректнее поставить перенос в фамилии, а не делать перенос после инициалов.

    Близкая ситуация с неразрывным дефисом.