【发布时间】:2010-10-18 21:35:50
【问题描述】:
我正在使用 Asp.net。假设我允许用户在我的网站上发布带有 HTML 标记的消息。我如何确保他已正确关闭所有标签?是否有任何可用的 HTML-tag-checker 尝试解析标签并报告错误(如果有)?可能就像 BLOGGER 一样。
【问题讨论】:
标签: asp.net html parsing messages
我正在使用 Asp.net。假设我允许用户在我的网站上发布带有 HTML 标记的消息。我如何确保他已正确关闭所有标签?是否有任何可用的 HTML-tag-checker 尝试解析标签并报告错误(如果有)?可能就像 BLOGGER 一样。
【问题讨论】:
标签: asp.net html parsing messages
firefox 的 webdeveloper 工具栏插件有一个功能,允许您使用 w3c 验证器验证当前正在查看的页面的 html - 工具->验证本地 HTML。
无论如何,它可能正在使用验证器中可用的功能。我认为它可能会创建一个临时 html 文件并上传它。
【讨论】:
只是一个离题的想法 - 使用 Wiki 风格的引擎。这样您就可以按照自己的方式自己格式化 HTML。
【讨论】:
我认为您可以尝试使用 WYSIWIG 编辑器之一...(好的编辑器包括 http://www.fckeditor.net/、http://tinymce.moxiecode.com/、http://freetextbox.com/)您应该能够将其强制为“源模式”,它们可能会很整洁为你准备了糟糕的 HTML(虽然我自己并没有真正绑定过这种技术:D)
【讨论】:
我喜欢使用 wc3 的在线 html 验证器http://validator.w3.org/ ,但请记住首先确保您的整个文档在 cmets 之外有效,否则这可能是一次非常有趣的旅行。
【讨论】:
您可以轻松地自己解析文本。定义允许需要关闭的标签列表(strong、em 等)。解析代码并将每个 HTML 标记作为标记并将其推送到堆栈中。找到结束标记后,查看顶部项目,如果它不是找到的结束标记的补充,则 HTML 嵌套不正确。
假设成对的标签/结束标签从堆栈中删除,剩余元素是开始但未完成的标签。这只是一种初步的方法,但可能只需要几行代码就可以识别不正确的嵌套标签或未闭合的标签。
【讨论】:
您可以使用HTMLTidy 来确保HTML 格式正确。不确定它是否会在不修复错误的情况下报告错误,但它是开源的,所以你可以破解它来做到这一点。
【讨论】: