1、html_entity_decode() 函数把 HTML 实体转换为字符。
Html_entity_decode() 是 htmlentities() 的反函数。
例子:
$star=”& ‘”;
echo $str=html_entity_decode($star);
?>
(浏览器其实可以自动识别这样的代码,只要你输出的是html实体,浏览器会自动识别的)
2、htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
3、htmlentities() 函数把字符转换为 HTML 实体。
4、addslashes() 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
单引号 (‘)
双引号 (“)
反斜杠 (\)
NULL
5、stripslashes 去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
6、strip_tags 去掉字符串中任何 HTML标记和
7、nl2br() 将换行字符转成
就是\n换成了
8、addcslashes() 函数在指定的字符前添加反斜杠。
9、stripcslashes() 函数删除由 addcslashes() 函数添加的反斜杠。
巧妙使用集锦:
比如你要和dede一样存入的是html实体,那么你可以把做如下处理
$content=htmlspecialchars($_POST[‘content’]);
那么你想去除这样的转换,就可以使用html_entity_decode() 进行转换。不过大部分浏览器都支持自动识别的(仅仅有一部分可能浏览器不支持)
自动转义addslashes(),如果想要去除转义stripslashes
而addcslashes() 函数对应有一个stripcslashes() 函数
咋样,够清楚了吧?
PS:dedecms中村文章内容,存入数据库是经过htmlspecialchars过滤的,而discuz中存入的是html字符,我感觉要把过滤做好,存入什么格式都是可以的