1
我有一些用戶輸入的HTML顯示在Yesod模板中。我想轉換這個HTML,在它被渲染之前從它上面剝離出style
屬性,但是我找不到如何。如何在使用Yesod進行渲染之前轉換某些Blaze`Html`?
如果我的模板包含#{ html }
我可以通過html
作爲值通過簡單地寫#{ transform html }
的功能,如果transform
函數有一個簽名:transform :: Html -> Html
,其中Html
是blaze-html
here定義的類型。我看到的問題是Blaze似乎沒有公開爲了走HTML樹而有用的功能,或者甚至僅僅獲得給定的Html
的後代。那麼你會建議哪些策略?我應該嘗試進入Blaze內部嗎?
我不確定這是否應該被視爲Blaze純粹的問題。轉換Html
元素不是Blaze的主要用例之一,因此需要在使用Yesod進行渲染的情況下解決此問題
謝謝,這讓我覺得在頁面呈現時執行這種轉換是一個壞主意。我應該在將這些內容存儲到數據庫之前進行清理 – danza