導航:首頁 > 凈水問答 > 發表內容過濾php

發表內容過濾php

發布時間:2024-11-26 10:19:53

A. 如何正確運用PHP filter判斷過濾數據

PHP 5.2以及更高的版本,PHP filter被綁定於系統,它可以對數據進行自動的過濾和判斷。 第一種、PHP filter判斷一個變數的內容是否符合要求 使用函數filter_var,第一個參數是要判斷的變數。第二個參數是判斷的要求,FILTER_VALIDATE_EMAIL表示判斷是否符合email格式。如果變數是類似’[email protected]’的數據,系統就會完整的輸出‘[email protected]’。如果是錯誤的格式,比如’boy’,就會輸出false。如果沒有填寫表單中的email欄位,系統輸出空字元串。$email=‘[email protected]’; echofilter_var($email, FILTER_VALIDATE_EMAIL); 第二種、PHP filter根據要求過濾一個變數的內容 和上面唯一的不同是第二個參數使用FILTER_SANITIZE_EMAIL,輸出的結果會不同。如果變數是類似’[email protected]’的數據,系統就會完整的輸出’[email protected]’。如果是錯誤的格式,比如’boy-afds3′,只要是數字和字母和劃線等email格式中可以出現的內容,系統同樣會完整的輸出’boy-afds3′。如果變數沒有設置內容,系統輸出空字元串。如果是’boy阿三’,系統會把email格式中不允許的東西去除,輸出’boy’。$email=‘[email protected]’; echofilter_var($email, FILTER_SANITIZE_EMAIL); 第三種、PHP filter判斷輸入的變數的內容是否符合要求 使用函數filter_input。第一個參數表示從那裡獲得的數據,INPUT_POST表示通過POST方法傳遞過來,還可以使用INPUT_GET, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV,代表相應的途徑。第二個參數就是數據的名稱。第三個參數代表過濾的要求,FILTER_VALIDATE_EMAIL表示判斷數據是否符合email格式。 假設通過表單的POST過來的一個欄位email。如果是類似 ’[email protected]’ 的數據,系統就會完整的輸出’[email protected]’。如果是錯誤的格式,比如’boy’,就會輸出false。如果沒有填寫表單中的email欄位,系統輸出null,也就是空。 echofilter_input(INPUT_POST, ‘email’,FILTER_VALIDATE_EMAIL); 第四種、PHP filter根據要求過濾輸入的變數的內容 和上面唯一的不同是第二個參數使用FILTER_SANITIZE_EMAIL,輸出的結果會不同。假設通過表單的POST過來的一個欄位email。 如果是類似’[email protected]’的數據,系統就會完整的輸出’[email protected]’。如果是錯誤的格式,比如’boy-afds3′,只要是數字和字母和劃線等email格式中可以出現的內容,系統同樣會完整的輸出’boy-afds3′。如果沒有填寫表單中的email欄位,系統輸出null,也就是空。如果是’boy阿三’源碼天空 ,系統會把email格式中不允許的東西去除,輸出’boy’。 echofilter_input (INPUT_POST,‘email’,

B. 使用thinkphp時,表單提交的html內容,全被" \ " 反斜杠過濾了。怎麼在前台讀取到html實際內容呢去掉 \

因為默認的使用的htmlspecialchars()進行處理的。你可以使用
htmlspecialchars_decode()轉成字元

C. 過濾不良詞語PHP的代碼應該怎樣寫

用遍歷數組和Strpos來完成$str = "我愛你,不良詞語1"; //受檢測的字元串$arr=array('不良詞語1','不良詞語2','不良詞語3');foreach ($arr as $v){ $check = strpos($str,$v); if ($check > 0) { echo "檢測到不良詞語"; die(); //程序終止 }echo "OK。通過檢測,沒有發現不良詞語";}

D. 用php過濾html部分標簽

$str=preg_replace("/\s+/", " ", $str); //過濾多餘回車
$str=preg_replace("/<[ ]+/si","<",$str); //過濾<__("<"號後面帶空格)

$str=preg_replace("/<\!--.*?-->/si","",$str); //注釋
$str=preg_replace("/<(\!.*?)>/si","",$str); //過濾DOCTYPE
$str=preg_replace("/<(\/?html.*?)>/si","",$str); //過濾html標簽
$str=preg_replace("/<(\/?head.*?)>/si","",$str); //過濾head標簽
$str=preg_replace("/<(\/?meta.*?)>/si","",$str); //過濾meta標簽
$str=preg_replace("/<(\/?body.*?)>/si","",$str); //過濾body標簽
$str=preg_replace("/<(\/?link.*?)>/si","",$str); //過濾link標簽
$str=preg_replace("/<(\/?form.*?)>/si","",$str); //過濾form標簽
$str=preg_replace("/cookie/si","COOKIE",$str); //過濾COOKIE標簽

$str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //過濾applet標簽
$str=preg_replace("/<(\/?applet.*?)>/si","",$str); //過濾applet標簽

$str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //過濾style標簽
$str=preg_replace("/<(\/?style.*?)>/si","",$str); //過濾style標簽

$str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //過濾title標簽
$str=preg_replace("/<(\/?title.*?)>/si","",$str); //過濾title標簽

$str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //過濾object標簽
$str=preg_replace("/<(\/?objec.*?)>/si","",$str); //過濾object標簽

$str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //過濾noframes標簽
$str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //過濾noframes標簽

$str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //過濾frame標簽
$str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //過濾frame標簽

$str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //過濾script標簽
$str=preg_replace("/<(\/?script.*?)>/si","",$str); //過濾script標簽
$str=preg_replace("/javascript/si","Javascript",$str); //過濾script標簽
$str=preg_replace("/vbscript/si","Vbscript",$str); //過濾script標簽
$str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //過濾script標簽
$str=preg_replace("/&#/si","&#",$str); //過濾script標簽,如javAsCript:alert(

清除空格,換行

function DeleteHtml($str)
{
$str = trim($str);
$str = strip_tags($str,"");
$str = ereg_replace("\t","",$str);
$str = ereg_replace("\r\n","",$str);
$str = ereg_replace("\r","",$str);
$str = ereg_replace("\n","",$str);
$str = ereg_replace(" "," ",$str);
return trim($str);
}

過濾HTML屬性

1,過濾所有html標簽的正則表達式:

復制代碼 代碼如下:

</?[^>]+>

//過濾所有html標簽的屬性的正則表達式:

$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);

3,過濾部分html標簽的正則表達式的排除式(比如排除<p>,即不過濾<p>):

復制代碼 代碼如下:

</?[^pP/>]+>

4,過濾部分html標簽的正則表達式的枚舉式(比如需要過濾<a><p><b>等):

復制代碼 代碼如下:

</?[aApPbB][^>]*>

5,過濾部分html標簽的屬性的正則表達式的排除式(比如排除alt屬性,即不過濾alt屬性):

復制代碼 代碼如下:

\s(?!alt)[a-zA-Z]+=[^\s]*

6,過濾部分html標簽的屬性的正則表達式的枚舉式(比如alt屬性):

復制代碼 代碼如下:

(\s)alt=[^\s]*

E. php中數據過濾的問題

我來解釋一下吧
preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string);

去掉控制字元,你google一下ascii table就知道了,php裡面 - 代表范圍,比如\x00-\x08指的是ASCII代碼在\x00到\x08范圍的字元,\x0A和\x0D代表回車換行,所以沒包含在這個裡面,否則直接\x00-\x1F了,

$string = str_replace(array("\0","%00","\r"),'',$string);
\0表示ASCII 0x00的字元,通常作為字元串結束標志

$string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",'&',$string);

我們知道HTML裡面可以用&#xxx;來對一些字元進行編碼,比如 (空格), ߷ Unicode字元等,A(?!B) 表示的是A後面不是B,所以作者想保留 ߷類似的 HTML編碼字元,去掉其他的問題字元,比如 &123; &#nbsp;

str_replace(array("%3C",'<'),'<',$string);

第一個'<'多餘吧,%3C是編碼以後的 <, 一般用在URL編碼里

str_replace(array("%3E",'>'),'>',$string);

str_replace(array('"',"'","\t",' '),array('"',"'",'',''),$string);

略過

有問題再追問

F. 網站建設用php做,如何過濾非法字元

php網站建設過濾非法字元串方法很多,下面是一個函數,你看看那,用戶發布的html,過濾危險代碼

functionuh($str)

{

$farr=array(

"/s+/",//過濾多餘的空白

"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isU",//過濾<script等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾

"/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",//過濾javascript的on事件

);

$tarr=array(

"",

"<123>",//如果要直接清除不安全的標簽,這里可以留空

"12",

);

$str=preg_replace($farr,$tarr,$str);

return;

}

閱讀全文

與發表內容過濾php相關的資料

熱點內容
大眾的汽油濾芯怎麼插 瀏覽:63
污水廠防腐qc課題 瀏覽:887
離子交換樹脂法可以用於生產什麼 瀏覽:630
污水進管道超標 瀏覽:231
汽車美容污水處理方案 瀏覽:880
污水接戶井是干什麼的 瀏覽:309
飲水機底下的清潔有什麼用 瀏覽:267
上饒反滲透膜修復劑怎麼樣 瀏覽:70
污水池佔用土地面積多少錢一畝 瀏覽:988
家裡裝修凈水器怎麼埋管 瀏覽:804
暖水壺經常有水垢 瀏覽:794
污水提升泵怎麼接線 瀏覽:864
白銀市污水處理廠在什麼地方 瀏覽:372
德隆esam5400除垢 瀏覽:245
超濾膜封裝樹脂 瀏覽:800
凈水器瓶子擰不緊怎麼辦 瀏覽:792
挖掘機回油濾芯總炸怎麼回事 瀏覽:133
蒸餾換熱器換熱不好 瀏覽:446
不銹鋼保溫瓶去水垢 瀏覽:785
海爾凈水器有蜂鳴聲是怎麼回事 瀏覽:800