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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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('/&((#(\d3,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()
参考技术A 我给楼主吧- - 首先是过滤html,将html编码转换为实体编码 /**
* 将特殊字符转成 HTML 格式。
* @param string $value - 字符串或者数组
* @return array
*/
public static function htmlspecialchars($value)
return is_array($value) ? array_map('k::htmlspecialchars', $value) :
preg_replace('/&((#(\d3,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()
参考技术B 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;
参考技术C 用trim()函数从字符串的两端删除空白字符和其他预定义字符。
ltrim()函数从字符串左侧删除空格或其他预定义字符。
rtrim()函数从字符串的末端开始删除空白字符或其他预定义字符。

以上是关于php 如何过滤 单引号 双引号 $ < > 等N种特殊符号?谢谢的主要内容,如果未能解决你的问题,请参考以下文章

PHP中单引号与双引号的区别分析

PHP 替换html标签内的单引号,将单引号替换成双引号

PHP 如何将单引号字符串与双引号字符串连接起来。

(实用篇)PHP中单引号与双引号的区别分析

php单引号,双引号

php,单引号和双引号的区别