我正在使用这个简单的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