MySQL字符串替换与HTML转义
ps:今天遇到一个问题,从数据库读取一个字符串,然后在jsp用EL表达式显示时,因为数据库原始数据是带有HTML标签的,所以显示的时候会把标签直接转换成HTML,但是我想要的是HTML标签字符串,所以就需要转义。下图是HTML转义对照表:
如上图,只要将数据库里面的中包含<>符号替换成转义符就可以实现在页面输出标签了。
1、数据库表如下:
2、REPLACE(str,str_from,str_to)函数,replace函数是mysql里面的一个字符串替换函数,参数str代表数据库原字段,参数str_from代码替换前的字符串,str_to代表替换后的字符串。
如上图如果要替换“<”和“>”,sql语句为:
UPDATE table_b SET address=REPLACE(address,'<','<'),address=REPLACE(address,'>','>')
WHERE address LIKE '%<%' OR address LIKE '%>%';
3、这里建议使用十进制的转义符,网上说十进制的转义符可以被多数浏览器识别,具体情况本人没有测试过,如有兴趣可以自己试试。
只要前进的方向正确,就算走得再慢,那也是在进步。