我正在使用這個簡單的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;
}
}
上面的代碼將輸出所有的架構定義的元素類型(不DTD)爲XHTML1 Transitional(不是HTML)加任何文件,例如
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;) – 2010-11-21 12:40:48
爲了比較簡單的Html DOM解析器與DOMDocument,請參閱我的答案[這裏](http://stackoverflow.com/questions/4098895/how-to-determine-if-text-string-appears-as-a-child-of-一個名爲-HTML的標籤/ 4235909#4235909),[here](http://stackoverflow.com/questions/2735291/domdocument-class-unable-access-domnode/4230447#4230447)和[here](http://stackoverflow.com/問題/ 4044812 /正則表達式-DOM文檔匹配和替換文本而不是-IN-A-LINK/4209925#4209925)。 – 2010-11-21 12:49:44
在本文檔中,它說
// 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標籤:( – woninana 2010-11-21 09:58:26
不,解析器是一個簡單的HTML解析器,它沒有能力來解析DTD,它的內部邏輯處理HTML元素是沒有暴露的(或者甚至會製作方式表達將其以可讀的形式呈現,即使稍微方便一點)。
- 1. 我可以使用類型爲javascript的腳本標記中的所有HTML標記嗎
- 2. 我可以使用動態Schema.org標記構建我的html嗎?
- 3. W3C HTTP規範中「1#」標記的展開
- 4. 是什麼?是指在W3C CSS規範的標記化部分?
- 5. 我可以使用AsyncHttpResponseHandler或AsyncHttpClient類查找HTML標記嗎?
- 6. Schema.org <head> HTML標記:我可以只使用元標記嗎?
- 7. 我不應該使用那些不在HTML 5規範中的XHTML元素/標記/屬性嗎?
- 8. W3C DOM可以用來創建Document/DocType節點嗎?
- 9. 我可以使用gem規範安裝手冊頁嗎?
- 10. 我可以使用SIMPLE HTML DOM PARSER來解析php嗎?
- 11. 當我使用dot.js寺廟時,可以獲得html dom val嗎?
- 12. RESTEasy Response與W3C規範
- 13. 我們可以在noexcept規範中引用成員變量嗎?
- 14. 我可以使用沒有任何CSS的Html標籤響應圖像嗎?
- 15. 我可以在HTML中使用resourcekey嗎?
- 16. 我可以在setup.py的tests_require中使用環境標記嗎?
- 17. 可以使用xpath獲取html定位標記的值嗎?
- 18. 我們可以爲JQuery移動添加常規元標記嗎?
- 19. 這是W3C XML規範中的拼寫錯誤嗎?
- 20. 是否可以在非HTTP-200響應中返回HTML標記?
- 21. 可以使用django-taggit中的所有標籤嗎?
- 22. 我可以使用NAnt在Apache Subversion中進行標記嗎?
- 23. 我可以在UILabel中使用Tally標記字體嗎?
- 24. 我可以在.htaccess URL中使用哈希標記嗎?
- 25. 我可以在jsp中使用php標記嗎
- 26. 我可以在SVG標籤內使用HTML標籤嗎?
- 27. 使用XSLT可以同時生成HTML和Wiki標記嗎?
- 28. 如何在我的.NET應用程序中使用W3C標記驗證器API?
- 29. 有無標籤的HTML可以嗎?
- 30. 我可以使用Android SDK中的所有內容嗎?
你的意思回聲都存在當前的HTML文檔中的標籤,或者所有的HTML規範中存在的HTML標籤? – Skilldrick 2010-11-21 09:46:15
html規範中存在所有標籤 – woninana 2010-11-21 09:50:10