2016-07-28 9 views
1

У меня есть эти строки:удаления неизвестное количество тегов внутри тега

$st = '<p><br/></p>'; 
$st = '<p><br/><br/></p>'; 
$st = '<p><br/><br/><br/></p>'; 

Как я могу удалить все разрывы строк внутри P тега? Я попытался это, но не получилось:

echo preg_replace('/p>(br\/>)*?<\/p/','p></p',$st); 

извини, кажется, мне нужно объяснить. Больше. Это будет внутри более крупного текста, и я не хочу удалять все разрывы строк. Только те, которые находятся внутри тега P с неизвестным числом случаев.

+1

Я уже отредактировал, вам не нужно беспокоиться. Будьте осторожны в следующий раз. – nicael

ответ

2

Изменить Regex для:

preg_replace('#p\>(\<br\/\>)*?\<\/p#','p></p',$st)

+0

Спасибо. Я не знал, что мне нужно сжать><. – agahi

0

Есть некоторые не RegEx альтернативы,

Использование str_replace;

echo str_replace("<br/>","",$st); 

Использование strip_tags;

echo strip_tags($st,"<p>");