我正在寻找一个能够反转Clojure Hiccup的函数。
因此,以下HTML代码:
跟进@kotarak的回答,这对我现在起作用了:
因此,以下HTML代码:
<html></html>将被转换为:
[:html]
跟进@kotarak的回答,这对我现在起作用了:
(use 'net.cgrand.enlive-html)
(import 'java.io.StringReader)
(defn enlive->hiccup
[el]
(if-not (string? el)
(->> (map enlive->hiccup (:content el))
(concat [(:tag el) (:attrs el)])
(keep identity)
vec)
el))
(defn html->enlive
[html]
(first (html-resource (StringReader. html))))
(defn html->hiccup [html]
(-> html
html->enlive
enlive->hiccup))
=> (html->hiccup "<html><body id='foo'>hello</body></html>")
[:html [:body {:id "foo"} "hello"]]