Регулярное выражение для удаления HTML-тегов

Используйте /<[^>]*>/g с функцией поиска и замены. Каждый пример ниже проверен на этом шаблоне, и вы можете открыть его в Regex Tester с уже загруженными образцами.

Обновлено

До

<p>Hello <strong>world</strong>!</p>

После (замена на nothing)

Hello world!

Как работает шаблон

ЧастьЗначение
<Открывающая угловая скобка
[^>]*Любой символ, кроме закрывающей скобки
>Закрывающая угловая скобка
→ ""Заменяется на пустую строку

Примеры кода

JavaScript

const out = text.replace(/<[^>]*>/g, "");

Python

import re

out = re.sub(r'<[^>]*>', r'', text)

PHP

$out = preg_replace('/<[^>]*>/', '', $text);

Примечания и ограничения

Быстро и удобно для простой разметки, но шаблон ломается на атрибутах, содержащих >, и не декодирует сущности вроде &amp;. В браузерах безопаснее использовать new DOMParser().parseFromString(html, "text/html").body.textContent.

Часто задаваемые вопросы

Какое регулярное выражение нужно для удаления HTML-тегов?
/<[^>]*>/g — используется с функцией поиска и замены. В таблице выше описано, что делает каждая часть.
Работает ли это в Python и PHP?
Да — примеры кода выше используют тот же шаблон с модулем re в Python и функциями preg в PHP.
Как протестировать это регулярное выражение?
Нажмите «Открыть в Regex Tester» — шаблон, флаги и текст для проверки загрузятся автоматически, а совпадения будут подсвечиваться при редактировании.