ClojureScript
プロジェクトの場合、クライアント側の外部HTML
文書からコンテンツを抽出する簡潔な方法を探しています。コンテンツは実際にはMarkdown
形式のajax呼び出しを介して受信され、それ以降はHTML
に解析されます。だからHTML
文字列が出発点です。ClojureScriptのhtml-stringから要素を抽出します
(def html-string "<p>Something, that <a>was</a> Markdown before</p>")
ライブラリここでは必要とされているCSSセレクタを、表現するためのインスタンスを使用するベクターのためのEnlive
とGarden
。 Enlive
には、同様のセマンティクスを提供するフロントエンドの姉妹であるEnfocus
があります。より多くの試合があった場合
(require '[enfocus.core :as ef])
(ef/from js/document.head :something [:title]
(ef/get-text))
;;{:something "My Title"}
:something
の値がベクトルになる:
はここで、現在のDOMからいくつかのコンテンツを抽出しenfocus
例です。どのように任意のHTML
文字列にこの関数を適用するか、わかりませんでした。今、いくつかの中に問題を引き起こす可能性があるすべてのものを包むのdivが、ありますので、しかし、これは、非常にきれいではありません
(ef/from (html->node html-string) :my-link [:a]
(ef/get-text))
;;{:my-link "was"}
:
(defn html->node [h]
(doto (.createElement js/document "div")
(aset "innerHTML" h)))
、その後:私は得ることができる最も近いこの機能を使用していました状況。
多分ちょうどあなたのdivののfirstChildを取ります。 –