Как заменить <p> <br> </ p> на конец строки, которая содержит пробелы, разрывы строк и табуляции? Regex?

Я считаю себя еще новичком в регулярном выражении и имею следующую задачу:

Мои пользователи публикуют контент, содержащий один или несколько «разрывов строк» ​​в конце. Эти «разрывы строк» ​​- это <p><br></p> с переменным количеством пробелов между тегами. Иногда в каждом абзаце содержится больше одного. Некоторые примеры:

 <p> <br> </p> 
 <p> <br> </p> 
 <p><br> <br> </p> 
 <p> <br> </p> 

Как я могу удалить эти абзацы с конца каждого фрагмента контента, а также удалить скрытые пробелы, пробелы, разрывы строк и вкладки?

Related of "Как заменить <p> <br> </ p> на конец строки, которая содержит пробелы, разрывы строк и табуляции? Regex?"

 <?php $strings[] = 'foo<p> <br> </p>'; $strings[] = 'foo<p> <br> </p>'; $strings[] = 'foo<p><br><br> </p>'; $strings[] = 'foo<p> <br> </p>'; foreach($strings as $string){ // \s* matches any number of whitespace characters (" ", \t, \n, etc) // (?:...)+ matches one or more (without capturing the group) // $ forces match to only be made at the end of the string $string = preg_replace("/(?:<p>\s*(?:<br>\s*)+<\/p>\s*)+$/", "", $string); echo $string."\n---\n"; } 

Выход:

Foo

Foo

Foo

Foo