最初に私は一般を読んだ。このようなXHTML引数にRegExを使用しないでください:RegEx match open tags except XHTML self-contained tagsと、ネストされたXHTMLまたはXMLノードでRegExが失敗する方法を理解しています。RegExを使用してPHPを使用したXHTMLからのマイクロデータの削除?
XMLの属性を操作するだけで、RegExを使用して分割する必要はありません。だから、一般ルールの例外があるようです。属性は、常に<
で始まり、>
で終わる単一のノードに含まれ、他のいずれかの<or>
がXMLを壊すので、このようなことは起こりません。
ここでは、含まれる可能性のあるすべてのマイクロデータのXHTML文字列をクリーニングしたいと考えています。これは、任意の属性です。itemscope
、itemtype
、itemprop
、itemid
、およびitemref
です。このようなもの:
...
<body itemscope="itemscope" itemtype="http://schema.org/WebPage">
<div itemprop="maincontent">content</div>
...
これを行うには、どのような方法が最適ですか?
HTMLからマイクロデータ属性を消去する場合は、HTMLPurifierまたはhtmltidyで十分です。どちらもhtml5属性を認識しておらず、それらを削除しません。 – mario