You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Astro站点渲染Contentful数据时显示HTML标签如何解决?

解决Astro渲染Contentful富文本显示HTML标签的问题

你的问题核心是Astro默认会转义插值的字符串内容,所以通过documentToHtmlString转换后的HTML代码会被当作普通文本输出,而非解析渲染。

只需要修改模板中渲染内容的部分,给承载HTML的元素添加set:html指令,让Astro直接注入并解析HTML代码:

<!-- 替换原有的内容渲染代码 -->
<div class="content" set:html={content}></div>

修改后的完整模板部分:

<BaseLayout title={title} description={description}>
    <div class="stack gap-20">
        <div class="stack gap-15">
            <main class="wrapper">
                <div class="stack gap-10 content">
                    <div class="content" set:html={content}></div>
                </div>
            </main>
            
        </div>
        <ContactCTA />
    </div>
</BaseLayout>

注意:使用set:html时要确保注入的HTML内容来源可信(比如你的Contentful数据),避免跨站脚本攻击(XSS)风险。

内容的提问来源于stack exchange,提问作者Zaki Zakaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:42:05