2011-02-08 3 views
2

私はまだこのパーサーに取り組んでいます。今日私はタグ<st1:place w:st="on">を持つ文書を見つけました。GoogleはそれがMicrosoft Office Smart Tagだと教えてくれています。スマートタグとは何ですか?スマートタグとはどのようにhtmlから削除できますか?

私はこれらのことを取り除きたいと思いますが、私は彼らの存在またはその数についてのリストを見つけることができません。

これらのパターンがすべて<...:...>パターンに従うと、正規表現で簡単に削除できます。

文書にはdoctypeと.jsp拡張子はありませんが、すべてのコンテンツは2つの<html>タグの間にありますが、標準ではありませんが、まだ解析する必要があります。

OKこれは実際には大きな問題ではありませんが、それは私の書式設定をオフに投げます&バグです。

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

それは続く英数字パターンが続く<で開きます任意のタグでトリガします「:」コロン

+0

ths:http://stackoverflow.com/q/3801803/180136 – shamittomar

+0

私はそれらが名前空間だと思います。 – alex

+2

ジェフ・アトウッド(Jeff Atwood)でさえこれを扱っています:http://www.codinghorror.com/blog/2006/01/cleaning-words-nasty-html.html – shamittomar

答えて

1

この正規表現は、トリックを行う必要があります。また

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

-1

我々は<w:smartTag>を削除したいと何を以下に列挙されたことは、私たちを助けているタグ(開口部<と名前空間の間のスペース)の緩いフォーマッタを可能にします。

/<w:smartTag[^>]*>/ 
関連する問題