Как правильно удалить лишние пробелы в строке?
* - это пробел.
$text = '**Bla***bla**bla*blabla**bla*
**blabla***bla
*blabla';
echo preg_replace('/[^\S\r\n]+/', ' ', $text);
Вот результат:
*Bla*bla*bla*blabla*bla*
*blabla*bla
*blabla
Проблема в том что не могу удалят пробелы пере новый строкой типа такой. Как задать правило чтобы не оставлять пробел перед новый строкой?
Bla*bla*bla*blabla*bla*
blabla*bla
blabla
Чтобы удалить все пробелы в началах и концах строк, а также заменить множественные подряд стоящие пробелы на единичные, можно воспользоваться одним из следующих вариантов:
Если речь только о пробелах, то надо заменять /^ +| +$|( ) +/m
на $1
.
Обращаю внимание, что важен порядок проверок:
http://ideone.com/M8wuSg - верно
http://ideone.com/xBA5LS - неверно
Если нужны любые побельные символы - то лучше сделать в 2 замены - первая - как у тебя, а вторая /^(?![\r\n]\s)+|(?![\r\n]\s)+$/m
на пустую строку.
<?php
$text = '**Bla***bla**bla*blabla**bla*
**blabla';
echo preg_replace('/^([*]+)|([*]){2,}/m', '$2', $text);
Для удаления пробелов замените звездочки на знак пробела в регулярном выражении.
Тест http://sandbox.onlinephpfunctions.com/code/5de175fc06b16d77ddad968365bafe91c5c8d1bf
Регулярные выражения это здорово, но в данном случае это избыточно. Если вам необходимо в строке заменить какой либо символ на другой или убрать, без всяких условий. Используйте $ourString = str_replace(' ','',$ourString);
эта функция работает быстрее чем функции работы с регулярными выражениями. Понятно,что на простеньком одноразовом скрипте это, чаще всего, не играет роли, но тем не менее не надо микроскопом гвозди забивать.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Тупой и странный вопросНужно создать обработку и создание меток на сайте наподобие как на этом сайте
Здравствуйте волнует такой вопрос, как реализовать оплату заказа частями, использую обработчик счетНапример сумма заказа 10 000 человек может...