保存textarea编辑格式到数据库,并在div中正确显示出来
2014-05-05 16:44
323 查看
一:保存textarea编辑格式到数据库
在textarea中输入回车符 在js读取textarea中的值有\r\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的\r\n替换一下。
在js取textarea的时候:
如果用
var str = document.getElementById("textarea").value;
str = str.replace("\r\n","<br>");
则只会将第一个\r\n替换成<br>,如何将所有n个\r\n替换成<br>呢?难道要无限个replace吗?
其实不用,replace可以和正则表达式结合,一次替换所有的\r\n。
var reg=new RegExp("\r\n","g");
str= str.replace(reg,"\r\n");
这样str中所有的\r\n就替换成<br>了.然后可以将其存入数据库。
在取出的时候 只用将值在替换回来即可
var reg=new RegExp("<br>","g");
stt= str.replace(reg,"\r\n");
document.getElementById("textarea").value=str;
更加详细的分析和应用可以参考JavaScript的replace方法与正则表达式结合应用讲解
下面是我写的2个函数 直接放到通用包中 以后使用可以替换
function replaceTextarea1(str){
var reg=new RegExp("\r\n","g");
var reg1=new RegExp(" ","g");
str = str.replace(reg,"<br>");
str = str.replace(reg1,"<p>");
return str;
}
function replaceTextarea2(str){
var reg=new RegExp("<br>","g");
var reg1=new RegExp("<p>","g");
str = str.replace(reg,"\r\n");
str = str.replace(reg1," ");
return str;
}
二:在div中使用<pre>标签正确显示出来
w3c对pre元素是这样定义的:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
更详细的内容请参考 http://www.w3school.com.cn/tags/tag_pre.asp
也就是说包含在pre标签中的回车和空格会正常的显示出来。包括你在页面代码中输入的。所以如果使用pre元素你需要这样写:
<pre>要输出的文本</pre>
,而不是这样:
<pre>
要输出的文本
</pre>
后一种写法 文本前的空白也会被显示的。除非你真的希望这样
三:div标签设置为可编辑并且自动换行
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行
在textarea中输入回车符 在js读取textarea中的值有\r\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的\r\n替换一下。
在js取textarea的时候:
如果用
var str = document.getElementById("textarea").value;
str = str.replace("\r\n","<br>");
则只会将第一个\r\n替换成<br>,如何将所有n个\r\n替换成<br>呢?难道要无限个replace吗?
其实不用,replace可以和正则表达式结合,一次替换所有的\r\n。
var reg=new RegExp("\r\n","g");
str= str.replace(reg,"\r\n");
这样str中所有的\r\n就替换成<br>了.然后可以将其存入数据库。
在取出的时候 只用将值在替换回来即可
var reg=new RegExp("<br>","g");
stt= str.replace(reg,"\r\n");
document.getElementById("textarea").value=str;
更加详细的分析和应用可以参考JavaScript的replace方法与正则表达式结合应用讲解
下面是我写的2个函数 直接放到通用包中 以后使用可以替换
function replaceTextarea1(str){
var reg=new RegExp("\r\n","g");
var reg1=new RegExp(" ","g");
str = str.replace(reg,"<br>");
str = str.replace(reg1,"<p>");
return str;
}
function replaceTextarea2(str){
var reg=new RegExp("<br>","g");
var reg1=new RegExp("<p>","g");
str = str.replace(reg,"\r\n");
str = str.replace(reg1," ");
return str;
}
二:在div中使用<pre>标签正确显示出来
w3c对pre元素是这样定义的:pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。
更详细的内容请参考 http://www.w3school.com.cn/tags/tag_pre.asp
也就是说包含在pre标签中的回车和空格会正常的显示出来。包括你在页面代码中输入的。所以如果使用pre元素你需要这样写:
<pre>要输出的文本</pre>
,而不是这样:
<pre>
要输出的文本
</pre>
后一种写法 文本前的空白也会被显示的。除非你真的希望这样
三:div标签设置为可编辑并且自动换行
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行
相关文章推荐
- 保存textarea编辑格式到数据库,并在div中正确显示出来
- textarea输入的内容保存到数据库,用div显示
- 解决jsp从数据库中读出来的数据放进textarea显示,格式不见了的问题
- 如何把从数据库读出来的数据以excel格式显示到网页?
- php 获取用textarea保存到数据库的内容,显示到页面保持换行
- 把数据库中的所有记录以一个特定格式的字符显示出来的一个例子
- Tapestry 怎样从数据库中保存的图片显示出来。
- textarea 提交到数据库的内容,输出到 html 中显示正常的格式
- WPF中把图片保存到数据库,并且从数据库提取出来显示
- Winform下如何上传图片并显示出来。同时保存到数据库
- jdbc连接数据库的时候,显示出乱码。所以修改my.ini下的编码格式,把utf-8改为gbk,但是保存的时候出现说my.ini拒绝访问的情况。保存不成功,希望大家能够帮我解决,谢谢!
- php保存数据到数据库到后台显示删除编辑,到前台展示
- Textarea插入表格table,保存到数据库。jsp页面显示表格问题
- jsp中textarea中输入文本存入数据库,然后按照输入的格式显示
- jsp中从textarea中获取数据库,然后显示时候的格式控制
- 把图片以二进制流保存到数据库并且读出来,显示
- CheckBoxList 显示,保存到数据库,从数据库读出来操作
- 利用数据库如何存入BLOB格式图片,并从数据库中取出BLBO格式图片显示出来
- jsp中从textarea中获取数据库,然后显示时候的格式控制
- C# 用二进制将图片保存在数据库里再读出来显示在pictureBox中