@maksam07

Как посредствои php заменить блок P на BR?

Добрый день, суть вопроса, думаю, ясна, но сейчас ближе к коду:
$text = '
	<div>
		<p></p>
		<p>Текст 1</p>
		<p>Текст 2</p>
		<p></p>
	</div>
';

Как проигнорировать пустые <p>, а между остальными сделать перенос строки, чтобы на выходе было что-то наподобии этого:
$text = '
	Текст 1<br />Текст 2
';

Вот что нашел:
Этот код оставит только <p>
strip_tags( $text, '<p>' );
Удаление тегов сделал при помощи:
preg_replace("~<p>(?-i:\\s++|&nbsp;)*</p>~i", "", $text);
  • Вопрос задан
  • 556 просмотров
Решения вопроса 1
gobananas
@gobananas
finishhim.ru
Сначала пройтись
str_replace('<p></p>', '', $text)

Далее сделать
preg_replace('/<\/p>[^<]{0,}<p>/ism', '<br>', $text)

Потом останется только удалить открывающий и закрывающий P
она найдет такие вещи https://regex101.com/r/oue9F4/1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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