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
muhammad_97
@muhammad_97 Автор вопроса
PHP-разработчик
Нашел решение: файл, с которого читались данные, был сохранен под виндой, а код запускался на кубунту. Проблема была в переносах строк (\r\n и \n)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
za4me
@za4me
Человек
Но ведь пустая строка и пробел это две разные вещи?
Ответ написан
qork
@qork
{ background: #F00B42 }
preg_match_all('/^[^\n]\s+$/m', $string, $matches)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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