首先我們推薦filter_sanitize_string ,filter_sanitize_string 過濾器去除或編碼不需要的字符。
這個過濾器刪除那些對應用程序有潛在危害的數據。它用於去除標簽以及刪除或編碼不需要的字符。
name: "string"
id-number: 513
可能的選項或標志:
filter_flag_no_encode_quotes - 該標志不編碼引號
filter_flag_strip_low - 去除 ascii 值在 32 以下的字符
filter_flag_strip_high - 去除 ascii 值在 32 以上的字符
filter_flag_encode_low - 編碼 ascii 值在 32 以下的字符
filter_flag_encode_high - 編碼 ascii 值在 32 以上的字符
filter_flag_encode_amp - 把 & 字符編碼為 &
*/
$var="<b>bill gates<b>";
var_dump(filter_var($var, filter_sanitize_string));
/*
第二個函數strip_tags
strip_tags() 函數剝去 html、xml 以及 php教程 的標簽。
語法
strip_tags(string,allow)
*/
echo strip_tags("hello <b>world!</b>");
//hello world!
function uh($str)
{
$farr = array(
"/s+/",
//過濾多余的空白
"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",
//過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可
以加入<object的過濾
"/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",
//過濾網頁特效的on事件
);
$tarr = array(
" ",
"<123>", //如果要直接清除不安全的標簽,這裡可以留空
"12",
);
$str = preg_replace( $farr,$tarr,$str);
return $str;
}
更多詳細內容請查看:http://www.bKjia.c0m/phper/19/70dd2a905e74cefc9be9c0f17268dadc.htm
?>