@sergeyiljin
Делаю дело

Какое регулярное выражение подходит для удаления всех тегов, кроме img?

Подскажите оптимальное регулярное выражение для обрезки тегов. В приложении есть чат с дивом contenteditable и нужно исключить возможность вставки в него всех тегов, кроме img (смайлы). Спасибо!
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
так? <(?!img)[^>]+>

с проверкой на "белый список" можно так <(?!img src="(?:123|321|12345)")[^>]+>
где 123, 321, 12345 - доступные значения src
Но так не будет работать, если src прописать где-то не после img, по-этому, если есть такие случаи, надо делать в 2 этапа, что-бы внутри img распознать src в любом месте и смотреть его контент.

Либо не делать регулярками.

ну и UPD из комментов <(?!img[^>]+src="(?:123|321|12345)")[^>]+>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@NeonWired
/<(?!img).+(\/|.+)>/gm
Но надо будет разбить строку по тегу img(c img должна начинаться строка)
5d301449212da172966991.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы