Что такое смарт-теги и как я могу удалить их из HTML?
Так что я все еще работаю над этим парсером. Сегодня я нашел документ с тегом <st1:place w:st="on">
Google говорит мне, что это смарт-тег Microsoft Office.
Я хотел бы избавиться от этих вещей, но я не могу найти список того, что они есть или сколько их есть?
Если они все следуют <...:...>
шаблон будет легко удалить с помощью регулярных выражений.
Документ не имеет типа документа и расширения.jsp, но все содержимое находится между двумя <html>
теги, и как бы ни был нестандартен зверь, мне все равно нужно его разобрать.
Хорошо, это на самом деле не большая проблема, но это отбрасывает мое форматирование и вызывает меня.
2 ответа
Это регулярное выражение должно сделать трюк:
/<[:alnum:]+:[\s\S]*>/
Он будет срабатывать для любого тега, который начинается с <, за которым следует буквенно-цифровой шаблон, за которым следует двоеточие ':'.
В качестве альтернативы:
/<\s*[:alnum:]+:[\s\S]*>/
Разрешил бы более свободный форматировщик тега (пробел между открытием <и пространством имен)
Мы хотели удалить <w:smartTag>
и то, что перечислено ниже, нам помогло.
/<w:smartTag[^>]*>/