我正在使用这个简单的PHP HTML解析器:http://simplehtmldom.sourceforge.net.是否可以使用它来回显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;
}
}
Run Code Online (Sandbox Code Playgroud)
以上代码将输出XHTML1 Transitional(非HTML)的Schema定义(非DTD)中的所有Element类型以及任何文档,例如
pre
content is "Inline" excluding
"img|object|applet|big|small|sub|sup|font|basefont"
Run Code Online (Sandbox Code Playgroud)
它使用PHP的本机DOM扩展来实现.DOM扩展使用下面的libxml,在速度方面优于SimpleHtmlDom,并提供对标记的控制.DOM接口是与语言无关的W3C规范.
有关DOM扩展的替代方法,请参阅
| 归档时间: |
|
| 查看次数: |
392 次 |
| 最近记录: |