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

技术问询:如何在textarea中动态添加并正确显示原始HTML标签文本?

解决textarea显示转义HTML标签的问题

嗨,这问题我遇过好几次啦,核心原因是你的模板引擎(看起来是Laravel的Blade)自动转义了HTML特殊字符,导致数据库里的<b>被转成了&lt;b&gt;,所以才会显示成转义后的字符串。下面一步步给你解决:

1. 先解决从数据库读取的显示问题

你现在用的{{$string_from_db}}是Blade的自动转义语法,它会把<、>这些HTML特殊字符转换成实体字符,防止XSS攻击,但刚好和你的需求冲突了。

把模板里的代码改成{!! $string_from_db !!}就行,这个语法不会转义HTML,能直接输出原始的字符串:

var my_string="{!! $string_from_db !!}";
$('#my_textarea').val(my_string);

这样textarea里就能准确显示<b>this is a bold text</b>啦。

2. 实现动态添加HTML标签到textarea的需求

因为textarea是纯文本输入控件,只要你往它的val()里传入原始的HTML标签字符串,就能直接显示标签本身,不需要额外处理。比如你可以加个按钮,点击时插入指定的HTML标签:

// 假设你有个id为add_bold_tag的按钮
$('#add_bold_tag').click(function() {
    // 获取textarea当前的内容
    var currentContent = $('#my_textarea').val();
    // 在末尾添加<b>标签示例
    $('#my_textarea').val(currentContent + '<b>新的加粗标签内容</b>');
});

点击按钮后,textarea里就会新增<b>新的加粗标签内容</b>这段文本,完全符合你的需求。

小提醒:如果之后需要把textarea里的内容存回数据库,记得做好XSS防护(比如后端验证过滤),避免恶意代码注入哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 10:32:53