Intereting Posts
Значение по умолчанию в Доктрине WooCommerce использует вторичный PHP-файл (ссылающийся на шаблон) Обнаружение плохих json-данных в PHP json_decode ()? PHP exec (): запуск сценария bash для настройки среды, а затем выполнение программы Python Поиск общей ценности среди подмассивов в многомерном массиве Как обновить базу данных с помощью PDO? PHP ksort кажется не затронутым setlocale Как синхронизировать проект PHP с помощью RSync и NetBeans? Получить значение всего столбца из одной таблицы и получить значение другого столбца из второй таблицы magento перенаправляет на другой субдомен, основанный на cookie, в трёхмерном трюке Создание меню с базами данных на каждой странице в CodeIgniter? Установите Application_ENV через конфигурацию виртуального хоста и прочитайте это в PHP Быстрая загрузка нескольких изображений на сервер Ошибка PHP и MYSQLI, вызов функции-функции члена () для не-объекта Функция PHP, чтобы узнать количество параметров, переданных в функцию?

PHP regex заменяет пустое пространство на & nbsp; если он соответствует одной букве

У меня есть пользовательская строка (html-форматированная строка, которую нужно сохранить и использовать в Интернете), и вам нужно найти способ заменить каждое пустое пространство, которое находится сразу после одной буквы на   ,

Например, "this is a string" должна стать "this is a string" ,

"bla bla bl abla b la blabla" должно стать "bla bla b l abla b la blabla" … и т. д. …

 preg_replace('/(?<=\b[az]) /i', '&nbsp;', $s); 

Регулярное выражение здесь выполняет положительный lookbehind, который гарантирует, что пробелу предшествует одна буква и граница слова.

без регулярного выражения

 $str = "this is a string" ; $s = explode(" ",$str); foreach ($s as $i => $j){ if (strlen($j)==1){ $s[$i]="$j&nbsp;"; } } print_r ( implode(" ",$s) ); 
 <?php $str = 'your string'; $str = preg_replace(array('/ ([a-zA-Z]) /', '/^([a-zA-Z]) /', array(' $1&nbsp;', '$1&nbsp;'), $str); ?> 

Должен сделать трюк.

Чтобы сохранить пробелы и разрывы строк для текста, исходящего из базы данных:

 <pre> echo nl2br(str_replace(' ','&nbsp', stripslashes( database_string ))); <pre>