【问题标题】:HTML error checkerHTML 错误检查器
【发布时间】:2010-10-18 21:35:50
【问题描述】:

我正在使用 Asp.net。假设我允许用户在我的网站上发布带有 HTML 标记的消息。我如何确保他已正确关闭所有标签?是否有任何可用的 HTML-tag-checker 尝试解析标签并报告错误(如果有)?可能就像 BLOGGER 一样。

【问题讨论】:

    标签: asp.net html parsing messages


    【解决方案1】:

    firefox 的 webdeveloper 工具栏插件有一个功能,允许您使用 w3c 验证器验证当前正在查看的页面的 html - 工具->验证本地 HTML。

    无论如何,它可能正在使用验证器中可用的功能。我认为它可能会创建一个临时 html 文件并上传它。

    【讨论】:

      【解决方案2】:

      只是一个离题的想法 - 使用 Wiki 风格的引擎。这样您就可以按照自己的方式自己格式化 HTML。

      【讨论】:

        【解决方案3】:

        我认为您可以尝试使用 WYSIWIG 编辑器之一...(好的编辑器包括 http://www.fckeditor.net/http://tinymce.moxiecode.com/http://freetextbox.com/)您应该能够将其强制为“源模式”,它们可能会很整洁为你准备了糟糕的 HTML(虽然我自己并没有真正绑定过这种技术:D)

        【讨论】:

        • 这就是我想要的吗?谢谢你让我免于重新发明轮子。我疯了。
        【解决方案4】:

        我喜欢使用 wc3 的在线 html 验证器http://validator.w3.org/ ,但请记住首先确保您的整个文档在 cmets 之外有效,否则这可能是一次非常有趣的旅行。

        【讨论】:

        • 这看起来不错,但我只是在想如何在这里发送特定的文本内容,这需要一个 URL。也许我应该将我的内容动态呈现到 HTML 页面中并将其发送到此验证器?
        【解决方案5】:

        您可以轻松地自己解析文本。定义允许需要关闭的标签列表(strong、em 等)。解析代码并将每个 HTML 标记作为标记并将其推送到堆栈中。找到结束标记后,查看顶部项目,如果它不是找到的结束标记的补充,则 HTML 嵌套不正确。

        假设成对的标签/结束标签从堆栈中删除,剩余元素是开始但未完成的标签。这只是一种初步的方法,但可能只需要几行代码就可以识别不正确的嵌套标签或未闭合的标签。

        【讨论】:

        • 看起来有点像。让我试试。谢谢!
        • 更快地定义不需要关闭的标签列表。
        • 安布罗斯:正确;我假设 OP 只打算允许有限数量的 HTML。
        【解决方案6】:

        您可以使用HTMLTidy 来确保HTML 格式正确。不确定它是否会在不修复错误的情况下报告错误,但它是开源的,所以你可以破解它来做到这一点。

        【讨论】:

        • 不确定 ASP.NET 是否支持,但它与 PHP 集成得很好,而且非常棒。
        • 您仍然需要解析 Tidy 的结果,以确保仅存在列入白名单的元素/属性。但至少您可以使用 Tidy 来使其成为格式良好的 XHTML,因此您可以使用简单的 XML 解析器来完成任务。
        猜你喜欢
        • 2021-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 1970-01-01
        相关资源
        最近更新 更多