php输出内容出现html标签的问题

我从数据库中读取数据的时候,结果是连html标签都出来了,<FONTface=宋体>美丽梦幻的插画作品</FONT>怎么去掉

应该是你的数据在插入到数据库前或者是数据被读出来之后,被函数“htmlspecialchars”把“<>”这两个标记给转换成html代码即“<>”
解决办法是,你在网站的程序那修改,就是要先看一下,是在哪个地方把数据转换掉的,那在那里把那个函数去掉就行了,像你这种情况的话应该是在插入数据之前就已经被转换了……先把函数去掉,然后再更新一下数据就行了但是,这样子操作的话会有一个问题,就是如果你的数据里有双引号的话那么你的网页就会出现茬子,所以在读出来的数据那要加上“addSlashes”函数,其作用是在“双引号”或单“引号前”加“\”把那些引号变成转义字符,这样子页面就不会有问题了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-06
你插入的数据是不是从编辑器里提交的数据啊?这样的数据再放到编辑器里读取就可以了。要么就在插入或读取数据的时候过滤一下html标记,给你一个过滤html代码的函数:
function ihtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = ihtmlspecialchars($val);
}
} else {
$string = preg_replace('/&((#(\d{3,5}|x[a-fa-f0-9]{4})|[a-za-z][a-z0-9]{2,5});)/', '&\\1',
str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string));
}
return $string;
}本回答被提问者采纳
第2个回答  2010-05-06
你插入到数据库肯定有HTML代码,从源头开始解决
相似回答