为什么我的文本区域变成这个字符串来自数据库。 它被保存为varchar,我可以在数据库中看到它的确切的
。,这是一个粗体文本
var my_string="{{$string_from_db}}";
$('#my_textarea').val(my_string);
我想让它显示准确的文本,这是文本区域中的粗体文本,而不是html标记。
我添加了2个选项,你可以选择任何你想要的东西。
选项1-服务器端:(Laravel)
// Use this
{!! $string_from_db !!}
// instead of
{{$string_from_db}}
选项2-客户端:
如果您不想更改服务器端的任何内容,那么您可以尝试此方法,使用replace
函数进行如下转换,
null
var my_string = "<b>this is a bold text</b>";
$('#my_textarea').val(my_string.replace(/</g,'<').replace(/>/g,'>'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="my_textarea"></textarea>
使用html
方法而不是使用val
方法
<script>
$(document).ready(function(){
var my_string="<b>this is a bold text</b>";
$('#my_textarea').html(my_string); // <<<< LIKE THIS
});
</script>
JS Bin演示
注意:这只适用于textarea
,并且在任何必要的验证之后,以防止用户注入任何有害的代码。