Что такое смарт-теги и как я могу удалить их из HTML? - PullRequest
2 голосов
/ 08 февраля 2011

Так что я все еще работаю над этим парсером.Сегодня я нашел документ с тегом <st1:place w:st="on">. Google сообщает, что это смарт-тег Microsoft Office.

Я хотел бы избавиться от этих вещей, но я не могу найти список того, чем они являются или сколько их существует?

Если они все будут следовать шаблону <...:...>, это будетЛегко удалить с помощью регулярных выражений.

Документ не имеет типа документа и расширения .jsp, но все содержимое находится между двумя тегами <html>, и, как бы ни был нестандартен зверь, мне все равно нужно разобратьэто.

Хорошо, это на самом деле не большая проблема, но это отбрасывает мое форматирование и вызывает меня.

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Это регулярное выражение должно сделать трюк:

/<[:alnum:]+:[\s\S]*>/

Это сработает для любого тега, который начинается с

В качестве альтернативы:

/<\s*[:alnum:]+:[\s\S]*>/

Разрешает более свободный форматировщик тега (пробел между открытием <и пространством имен) </p>

0 голосов
/ 19 декабря 2014

Мы хотели удалить <w:smartTag>, и то, что перечислено ниже, нам помогло.

/<w:smartTag[^>]*>/
...