首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在用Yesod渲染之前,如何转换一些火焰“`Html`”?

在用Yesod渲染之前,如何转换一些火焰“`Html`”?
EN

Stack Overflow用户
提问于 2015-09-30 16:16:07
回答 1查看 184关注 0票数 1

用户输入了一些HTML,显示在Yesod模板中。我想转换这个HTML,在呈现之前从它中去掉style属性,但是我不知道如何实现。

如果我的模板包含#{ html },我可以将html作为一个值传递给一个函数,只需编写#{ transform html },如果transform函数有一个签名:transform :: Html -> Html,其中Html是由blaze-html 这里定义的类型。我看到的问题是,Blaze似乎没有公开有用的功能,以便遍历HTML,甚至只是获取给定Html的后代。那么你会建议什么策略呢?我应该试着进入火焰的内部吗?

我不知道这是否纯粹是与烈火有关的问题。转换Html元素不是Blaze的主要用例之一,因此这个问题需要在用Yesod进行渲染的背景下加以解决。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-30 18:03:41

您必须先渲染到文本或ByteString,否则就无法分析内容。然后,您可以使用一个库来处理数据,比如html-导管或标签汤(这就是xss-消毒所做的)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32871016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档