Задать вопрос
muhammad_97
@muhammad_97
PHP-разработчик

Почему регулярка не срабатывает (PHP 7)?

Нужно удалить пробелы там, где кроме них ничего нет. Т.е. "пустые" строки с пробелами:

<?php

$string = '<content>
<p>
    
</p>

<p>
    
</p>

<p>
    
</p>
</content>';
 
var_dump(preg_match('/^ +$/m', $string, $matches));
var_dump($matches);


Запускаю здесь - все ок. пытаюсь сделать то же самое у себя (PHP 7 ) - нет совпадений. Что я делаю не так?

UPD. : \s тоже пробовал
  • Вопрос задан
  • 208 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
muhammad_97
@muhammad_97 Автор вопроса
PHP-разработчик
Нашел решение: файл, с которого читались данные, был сохранен под виндой, а код запускался на кубунту. Проблема была в переносах строк (\r\n и \n)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
preg_match_all('/^[^\n]\s+$/m', $string, $matches)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы