私はこの単純なPHP HTMLパーサー:http://simplehtmldom.sourceforge.netを使用しています。それを使用してHTML仕様のすべてのタグをエコーすることは可能ですか?DOMを使用してW3C仕様のすべてのHTMLタグをエコーすることはできますか?
答えて
あなたが行く:
$dom = new DOMDocument;
$dom->load('http://www.w3.org/2002/08/xhtml/xhtml1-transitional.xsd');
$xsns = 'http://www.w3.org/2001/XMLSchema';
$elements = array();
foreach ($dom->getElementsByTagNameNS($xsns, 'element') as $element) {
if ($element->hasAttribute('name')) {
echo $element->getAttribute('name');
$docs = $element->getElementsByTagNameNS($xsns, 'documentation');
foreach ($docs as $doc) {
echo "\t", $doc->nodeValue;
}
echo PHP_EOL;
}
}
例えばXHTML1 Transitional(ないHTML)に加えて任意のドキュメント、のためのスキーマ定義(DTDではない)で上記のコードが出力されます、すべての要素タイプを
pre
content is "Inline" excluding
"img|object|applet|big|small|sub|sup|font|basefont"
PHPのネイティブDOM拡張機能を使用しています。 The DOM extensionはlibxmlを使用しており、速度に関してはSimpleHtmlDomより優れており、マークアップを制御できます。 The DOM interface is a language agnostic W3C specification。 DOM拡張の代替については
- Best methods to parse HTML(これらのほとんどはあまりにもXMLに適用されます)
1のDOMDocumentため;。。) –
単純なHTML DOMパーサーとDOMDocumentを比較するには、私の答え[ここ](http://stackoverflow.com/questions/4098895/how-to-determine-if-text-string-appears-as-a-child-of- a-named-html-タグ/ 4235909#4235909)、[ここ](http://stackoverflow.com/questions/2735291/domdocument-class-unable-access-domnode/4230447#4230447)と[ここ](http://stackoverflow.com/質問/ 4044812/regex-domdocument-match-and-replace-text-in-a-link/4209925#4209925)。 –
ドキュメントでは、それは
// Dumps the internal DOM tree back into string
$str = $html;
// Print it!
echo $html;
を言う私はエコーが$ strのない$ htmlのあるべきだと思うが、これは、文書が言うことです。
// Dumps the internal DOM tree back into string
$str = $html->save();
// Dumps the internal DOM tree back into a file
$html->save('result.htm');
この情報がお役に立てば幸いです。
ドキュメント:いいえ、そのパーサは、単純なHTMLパーサーですhttp://simplehtmldom.sourceforge.net/manual.htm
htmlタグは表示されません:( – woninana
、それはDTDを解析する機能がないと、それはHTML要素を処理するための内部ロジックだが作るような方法で露出していない(あるいは表現されるいかなるわずかに便利であっても人間が読める形式で提示します)。ここで
- 1. DOMタグを使用してbodyタグのすべての要素をループする
- 2. JavaバインディングとはDOM仕様の意味ですか?
- 3. OpenNLPはトレーニングの一環としてHTMLタグを使用できますか?
- 4. CSSを使用して、HTMLタグのユーザー定義属性を対象にすることはできますか?
- 5. HTMLタグをエコーするPHP
- 6. Javaの仕様を使用してバイナリデータをデコードする
- 7. DOMを使用してHTMLを追加していますか?
- 8. htmlの仕様
- 9. フラッシュデバッグプロトコルの仕様はどこで見つけることができますか?
- 10. あなたはどのフォントファミリの仕様を使用していますか?
- 11. Document/DocTypeノードの作成にW3C DOMを使用できますか?
- 12. INET_NTOAを使用して行をエコーすることができません
- 13. CLIの仕様はどこで確認できますか?
- 14. このPHPスクリプトでelse文を使用してHTMLテーブルをエコーする方法
- 15. Mavenを使用してspecs2の仕様計画を生成しますか?
- 16. xmlからhtmlタグを取得し、PHPでエコーしますか?
- 17. 新しい仕様(HTML 5など)を採用するまでの期間は?
- 18. ディスプレイの仕様はどのように使用していますか?
- 19. W3のDOM仕様では、StringとDOMStringの違いは何ですか
- 20. Android NDK:すべての仕事にC++を使用できますか?
- 21. 関数内でジャスミン仕様を定義しても、beforeEachを適用することは可能ですか?
- 22. クライアント仕様に含まれていないファイルを統合することはできますか?
- 23. JavaとXercesを使用して1.1仕様に準拠することを確認するXMLをどのように解析できますか?
- 24. XMLAまたはDMVを使用してSSASボックスのハードウェア仕様とOSバージョンを判別しますか?
- 25. .replaceWith()関数を使用してタグ間のすべてのHTMLコードを削除することはできません
- 26. DOMでdivタグを移動することはできますか?
- 27. Windowsの時刻を取得し、条件を適用してメッセージをエコーすることはできますか?
- 28. NS substituteは使用する引数の仕様を決定できません
- 29. PHPとpreg_match_allは、私は、次のタグ(ともタグ)との間のすべてのHTMLコンテンツを取得しようとしている使用してPHP
- 30. TypeScriptを使用してHTMLファイルを文字列としてインポートすることはできますか?
はあなたの現在のHTML文書内に存在するすべてのタグ、またはすべてのエコー意味するか見ますHTML仕様に存在するHTMLタグ? – Skilldrick
すべてのタグはhtmlの指定にあります – woninana