Регулярное выражение, которое заботится об удалении p
атрибутов
var new = text.replace(/^<p[^>]*>(.*)<\/p>$/i, "$1");
Или версии с .*?
var new = text.replace(/^<p.*?>(.*)<\/p>$/i, "$1");
И если <pre>
или <param>
может запустить text
, вы должны предотвратить совпадение
var new = text.replace(/^<p\b.*?>(.*)<\/p>$/i, "$1");
изменить , чтобы ответить на второй вопрос
Удалить все, что находится до / после
var new = text.replace(/^.*<p\b[^>]*>(.*)<\/p>.*$/i, "$1");
Но если вы хотите удалить все <p...>
и все </p>
Вы должны использовать две строки
var new = text.replace(/<p\b.*?>/ig, "");
new = text.replace(/<\/p>/ig, "");