解决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转换后文章能够完美显示出来。(代码段高亮是另外加的啦)
相关文章推荐
- PHP中,<textarea>里的内容保存MYSQL后,页面输出不换行的解决方法
- <textarea>里的内容保存MYSQL后,页面输出不换行的解决方法
- 解决textarea内容有回车或者换行时前台显示不正常的问题
- html显示数据库中的字段内容为sql语句时,出现隐藏了换行等字符的问题解决
- html固定宽度下拉框内容显示不全问题解决方法
- JqueryEasyUI的DataGrid接收html内容后不显示问题的原因,解决方法
- 黄聪:wordpress向mysql字段中保存html代码(使用add_option()方法),然后无法显示出问题
- WebView-显示HTML内容-解决乱码问题
- 日文系统中,关于html的tag中显示内容换行问题.
- 解决jenkins HTML report 不显示内容问题
- 取从textarea中存到MYSQL的数据以原格式显示问题以及解决MySQL日期处理和标签的使用
- html固定宽度下拉框内容显示不全问题解决方法
- 解决html表格中内容超出不强制换行和超出宽度自动隐藏并显示省略号
- Thinkphp 3.2 显示html内容的时候 多了斜杠 导致样式和图片不能正常显示问题解决
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- 防微博内容展示,使用Html.fromHtml(),解决内容不能换行的问题
- 解决jsp中textarea 输入显示的问题( 包括回车、换行、空格 )
- html内textarea嵌套ckeditor编辑器,文本框无法显示值的问题解决
- 解决MySQL数据HTML展示没有换行
- html固定宽度下拉框内容显示不全问题解决方法