我需要匹配所有这些开始标记:
<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)
但不是这些:
<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)
我想出了这个,并希望确保我做对了.我只抓住了a-z.
<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)
我相信它说:
/,然后我有这个权利吗?更重要的是,你怎么看?
"旧"HTML/XHTML标准具有为其定义的DTD(文档类型定义):
HTML 4.01 http://www.w3.org/TR/html401/sgml/dtd.html
XHTML 1.0 http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Strict
此DTD指定嵌套元素的规则 - "哪些类型的元素可能出现在哪些类型的元素中".我在这里为XHTML 1.0制作了一个图表(抱歉,我不再拥有该资源)
我想用新版本更新该图表,该版本还包括新的HTML5元素.但是,似乎没有HTML5 DTD.似乎嵌套规则是由HTML5中定义的各种内容模型定义的.
所以没有DTD,对吗?
后续问题: HTML5中是否有没有DTD的原因?DTD是为所有不同类型的元素定义嵌套规则的一种很好的方法.他们为什么不包括这样的东西?
更新:我发现了这个: http: //www.w3.org/TR/html5/dom.html#kinds-of-content我猜,这是最接近DTD的.
更新: Visual Studio团队为XHTML5制作了XML Schema.我想这回答了我的问题: http: //blogs.msdn.com/b/webdevtools/archive/2009/11/18/html-5-intellisense-and-validation-schema-for-visual-studio-2008-and -视觉,网络developer.aspx
我目前正在尝试学习HTML和Java EE Servlet编程.我在我的本地计算机(Orion Application Server)上运行了一个应用程序服务器,并且我使用在同一台计算机上运行的浏览器连接到我在此服务器上部署的网页,并指向http://localhost/mypage.htm(例如).
我知道W3C有一个可以访问的站点,它将验证HTML页面(并计算给定doctype的错误数量),但这必须是一个公开的URL.如何像我上面描述的那样在本地运行的设置上验证HTML?