В PHP это регулярное выражение выполнит свою работу:
$result = preg_replace('%\s*<p\b[^>]*>\s* ?\s*</p>\s*%si', '', $subject);
Если вы не хотите, чтобы он обрезал пустое пространство до или после каждого <p> </p>
, удалите первый или последний \s*
. Кроме того, я добавил необязательную точку с запятой, потому что  
часто (обычно?)
. Это регулярное выражение будет соответствовать либо.