MySQL字符串替换与HTML转义

ps:今天遇到一个问题,从数据库读取一个字符串,然后在jsp用EL表达式显示时,因为数据库原始数据是带有HTML标签的,所以显示的时候会把标签直接转换成HTML,但是我想要的是HTML标签字符串,所以就需要转义。下图是HTML转义对照表:image

如上图,只要将数据库里面的中包含<>符号替换成转义符就可以实现在页面输出标签了。

1、数据库表如下:

image

2、REPLACE(str,str_from,str_to)函数,replace函数是mysql里面的一个字符串替换函数,参数str代表数据库原字段,参数str_from代码替换前的字符串,str_to代表替换后的字符串。

如上图如果要替换“<”和“>”,sql语句为:

UPDATE table_b SET address=REPLACE(address,'<','&#60;'),address=REPLACE(address,'>','&#62;')
WHERE address LIKE '%<%' OR address LIKE '%>%';

3、这里建议使用十进制的转义符,网上说十进制的转义符可以被多数浏览器识别,具体情况本人没有测试过,如有兴趣可以自己试试。

原文地址:https://www.cnblogs.com/gongchenglion/p/5164474.html