您的位置:首页 > 数据库 > MySQL

解决textarea内容保存到MySQL再显示到html中没有换行的问题

2018-01-09 21:23 1791 查看

最近在做项目时需要用一个MarkDown编辑器编写文章然后保存到数据库中,如下图所示,使用的是MdEditor



但通过后台提取数据显示到html页面中时,却发现没有换行。原来这是因为数据库把换行符过滤掉了。

那该怎么办呢,其实可以用一种迂回的方法将其写入到数据库中,就是可以先把”\n”换行符转换为特定的字符串,读取出来的时候再替换回来。

比如,提交数据时利用 js 获取 textarea 中的内容,再把所有换行符转为 <br>。

<script type="text/javascript">
var content = $("#form1 textarea").val();
content = content.replace(/\n|\r\n/g,"<br>");
</script>


读取出来的时候再替换回来

<script type="text/javascript">
$(function() {
var content ='${blog.article}'; //使用el表达式获取数据
content = content.replace(/<br>/g,"\n");//将<br>替换为换行符 "\n"
//$("div_demo").text(content);
});
</script>


如果是一般textarea内容像上面那样就行了,但由于我这是markdown内容,还要将markdown内容转为 html 代码段

<script src="https://cdn.bootcss.com/showdown/1.3.0/showdown.min.js">
<script type="text/javascript">
var converter = new showdown.Converter(); //初始化转换器
var htmlcontent  = converter.makeHtml(content); //将MarkDown转为html格式的内容
$("#article .article-entry").html(htmlcontent);//添加到 div 中 显示出来
</script>


最后显示效果,经过换行转换和MarkDown转换后文章能够完美显示出来。(代码段高亮是另外加的啦)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  textarea
相关文章推荐