【问题标题】:How to add a string containing HTML with Clojure Enlive如何使用 Clojure Enlive 添加包含 HTML 的字符串
【发布时间】:2012-10-02 17:31:19
【问题描述】:

我已经这样定义了一个模板:

(deftemplate layout-string "path/to/html/container.html"
  [content-strings]
  [:#container :> :div.pad]  (content (html-snippet (apply str content-strings)))
)

这里的内容字符串包含一个 HTML(例如:“

我的链接) 不幸的是,这不起作用。相反,它删除了 和 只留下 标记。 我尝试过不同的方法(不同的不成功结果)。 非常欢迎任何帮助!

【问题讨论】:

    标签: clojure enlive


    【解决方案1】:

    html-content 是您需要的功能。然而,它的性能很差。这个html字符串是从哪里来的?

    编辑:示例

    => (sniptest "<div>"
         [:div] (html-content "<tr><td><a href=\"mylink\">my link</a></td></tr>"))
    "<div><tr><td><a href=\"mylink\">my link</a></td></tr></div>"
    

    【讨论】:

    • 不幸的是 html-content 不起作用,它看起来可能是该函数的错误,因为它正在产生类似 (a href=...">link1Link2)。我基本上使用 Hiccup 生成我的 HTML,然后使用 hiccup/html 函数对其进行字符串化并将其提供给 html-content。它应该很容易工作(除了性能之外),但是它没有:(
    • 你能提供一个像上面这样的小型可重现测试用例吗?
    • 非常感谢您的帮助!在运行您的示例代码 (sniptest) 之后,我有了一个绝妙的主意来实际检查生成的源 HTML(我使用的是显示修改后的 HTML 的 Chrome 检查器)。然后我意识到我的 HTML 缺少 节点。信不信由你,我已经花了将近 3 天的时间:(
    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    相关资源
    最近更新 更多