php 如何过滤 单引号 双引号 $ < > 等N种特殊符号?谢谢

php 如何过滤 单引号 双引号 $ < > 等N种特殊符号?谢谢

我给楼主吧- - 首先是过滤html,将html编码转换为实体编码 /**
* 将特殊字符转成 HTML 格式。
* @param string $value - 字符串或者数组
* @return array
*/
public static function htmlspecialchars($value) {
return is_array($value) ? array_map('k::htmlspecialchars', $value) :
preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $value));
} 还有一个去除html编码的,可以直接用php的函数strip_tags()
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-31
我给楼主吧- - 首先是过滤html,将html编码转换为实体编码 /**
* 将特殊字符转成 HTML 格式。
* @param string $value - 字符串或者数组
* @return array
*/
public static function htmlspecialchars($value) {
return is_array($value) ? array_map('k::htmlspecialchars', $value) :
preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $value));
} 还有一个去除html编码的,可以直接用php的函数strip_tags()
第2个回答  2013-03-31
function SafeHtml($msg = "")
{
if(empty($msg))
{
return false;
}
$msg = str_replace('&','&',$msg);
$msg = str_replace(' ',' ',$msg);
$msg = str_replace("'","'",$msg);
$msg = str_replace('"',""",$msg);
$msg = str_replace("<","<",$msg);
$msg = str_replace(">",">",$msg);
$msg = str_replace("\t"," ",$msg);
$msg = str_replace("\r","",$msg);
$msg = str_replace(" "," ",$msg);
$msg = preg_replace("/<script(.*?)<\/script>/is","",$msg);
$msg = preg_replace("/<frame(.*?)>/is","",$msg);
$msg = preg_replace("/<\/fram(.*?)>/is","",$msg);
return $msg;
}
第3个回答  2013-03-30
用trim()函数从字符串的两端删除空白字符和其他预定义字符。
ltrim()函数从字符串左侧删除空格或其他预定义字符。
rtrim()函数从字符串的末端开始删除空白字符或其他预定义字符。
相似回答