【问题标题】:ParseError: Unexpected end tag - How to clean html tags?ParseError: Unexpected end tag - 如何清理 html 标签?
【发布时间】:2012-06-28 08:18:51
【问题描述】:

我开始学习 Web 开发,并且正在使用带有变色龙的金字塔。我只是在 Dreamweaver 中将一些网站的 html 源代码作为模板,然后将代码复制到 chameleon .pt 文件中。

html 代码在 Dreamweaver 中显示正常,但在金字塔中运行时出现此错误:

chameleon.exc.ParseError
ParseError: Unexpected end tag.

 - String:     "</div>"

我已经尝试过 Dreamweavers 的清理功能,它说它删除了 2 个空标签,但我仍然收到此错误。我的回溯都与变色龙中的错误有关,并且没有显示我的模板本身存在问题的特定行。

有没有办法确定发生错误的实际行?

我不确定是否有金字塔或变色龙特定的解决方案,或者是否有在 HTML 标记中查找错误的通用方法。

【问题讨论】:

  • 您总是可以通过 mako 或 jinja2 运行它,因为它们对 html 的格式要求不那么严格
  • @MichaelMerickel 感谢您的建议。我考虑过不同的模板引擎,但不确定,因为 Pyramid 似乎倾向于 Chameleon。我刚开始学习,所以我并不真正关心我学到了什么,只要它运作良好并且会得到一段时间的支持。你认为mako或jinga2是更好的选择吗?如果是这样,您会推荐一个吗?
  • @MichaelMerickel 顺便说一句..code 在 Jinja2 中运行良好,但仍然不确定我想使用哪一个。我阅读了绩效评估,它们看起来很相似,但不确定哪一个拥有更大的社区或将获得更长时间的支持(jinja2 在这个网站上有 300 个问题,而 mako 有 150 个但不确定这是否是一个好的指标)。
  • 这 3 个都是稳定的并且得到很好的支持,金字塔对你使用什么引擎完全无所谓。

标签: html dreamweaver pyramid chameleon template-tal


【解决方案1】:

Chameleon 期望模板格式正确,并且不像 DreamWeaver 那样容忍不平衡的标签和不正确的属性标记。

请注意,该错误并不一定意味着&lt;/div&gt; 标签太多。如果开始&lt;div&gt; 有语法错误,例如属性声明中缺少=(例如&lt;div class"foobar"&gt;,则开始标签无法识别,并且相应的结束标签也将被标记。

您可以通过 XML 验证器运行您的模板,网上有几个可用的(例如 http://www.validome.org/xml/http://www.xmlvalidation.com/http://xmlgrid.net/Google lists many more)。这些肯定会给你一个稍微有用的信息,告诉你你的模板出了什么问题。

【讨论】:

    【解决方案2】:

    以前从未使用过金字塔/变色龙,但看起来您必须检查代码并删除额外的&lt;/div&gt; 标签。当您收到删除两个空标签的消息时,这可能意味着它删除了一组标签的打开和关闭

    例如&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;

    检查您的代码,每个&lt;div&gt; 都应该有一个&lt;/div&gt;

    【讨论】:

    • 这段代码非常大(超过 15,000 行)。我正在寻求一种方法来避免手动执行那么多行代码。我知道浏览器是宽容的,但希望错误/行号是在某处生成的。
    猜你喜欢
    • 2010-11-05
    • 2011-05-04
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多