mysql-利用replace对纯文本数据转换成HTML格式显示-yc

上一篇 / 下一篇  2013-08-13 16:29:15 / 个人分类:Mysql


##########################################################
REPLACE说明:

REPLACE(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串

例:把表table中的name字段中的aa替换为bb
update table set name=replace(name,'aa','bb')
##########################################################



一个表字段,原来是纯文本编辑格式,后修改功能为支持HTML
原来显示:
111
222
修改后,显示为:111 222

为了使其正确显示,修改数据库数据为HTML格式;
<p>111</p>
<p>222</p>
即:
<p>111</p>
<p>222</p>


处理方法:
update `table_a` set `field`=Replace(`field`,"\r\n","&lt;/p&gt;&lt;p&gt;");
//把"\r\n"替换成"&lt;/p&gt;&lt;p&gt;"
//=>111&lt;/p&gt;&lt;p&gt;222&lt;/p&gt;&lt;p&gt;


update `table_a` set `field`=CONCAT(`field`,"&lt;/p&gt;");
//在字段后面补上"&lt;/p&gt;"
//=>111&lt;/p&gt;&lt;p&gt;222&lt;/p&gt;&lt;p&gt;&lt;/p&gt;


update `table_a` set `field`=CONCAT("&lt;p&gt;",`field`);
//在字段前面增加"&lt;p&gt;"
//=>&lt;p&gt;111&lt;/p&gt;&lt;p&gt;222&lt;/p&gt;&lt;p&gt;&lt;/p&gt;


update `table_a` set `field`=Replace(`field`,"&lt;p&gt;&lt;/p&gt;","");
//去除字段最后的"&lt;p&gt;&lt;/p&gt;"
//=>&lt;p&gt;111&lt;/p&gt;&lt;p&gt;222&lt;/p&gt;


即:
<p>111</p><p>222</p>
这样页面就可以显示正常了


注:纯文本,标准换行符为:\r\n,不标准的,有可能显示为\r或\n,如果遇到不标准的数据,可进行如下处理:
update `table_a` set `field`=Replace(`field`,"\r\n","&lt;/p&gt;&lt;p&gt;");
修改为:
update `table_a` set `field`=Replace(`field`,"\r\n","\r");
update `table_a` set `field`=Replace(`field`,"\n","\r");
update `table_a` set `field`=Replace(`field`,"\r","&lt;/p&gt;&lt;p&gt;");
即统一换行符格式后,再处理数据;

TAG: HTML html MySQL replace 转换 mysql 纯文本

 

评分:0

我来说两句

Open Toolbar