regex — удалить первую и последнюю пустую строку & lt; p & gt; & nbsp & lt; / p & gt; который создается ckediter с использованием переполнения стека

у меня есть строка $ str

$ Ул =»<p>&nbsp;</p>

<p>&nbsp;</p>

<p> hi </p>

<p>hello how are you</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>hello how are you</p>

<p>&nbsp;</p>

<p>&nbsp;</p>";

Это было сгенерировано ckediter
Строка является случайной на основе ввода,
Я хочу удалить первую и последнюю пустую строку (<p>&nbsp</p>)

Мне нужен вывод, как: —

<p> hi </p>
<p>hello how are you</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>hello how are you</p>

Ответ должен выполнить действие trim () в php
Есть ли способ в ckediter обрезать его ??
или регулярное выражение?

0

Решение

В PHP это регулярное выражение сделает работу:

$result = preg_replace('%\s*<p\b[^>]*>\s*&nbsp;?\s*</p>\s*%si', '', $subject);

Если вы не хотите, чтобы он обрезал пустое пространство до или после каждого <p>&nbsp;</p> затем удалите первый или последний \s*, Кроме того, я добавил дополнительную точку с запятой, потому что &nbsp часто (обычно?) &nbsp;, Это регулярное выражение будет соответствовать либо.

1

Другие решения

Других решений пока нет …