1. 程式人生 > >PHP使用者輸入資料進行過濾

PHP使用者輸入資料進行過濾

1.在表單中,有input專案,使用者輸入的是英文狀態下的雙引號或單引號,在編輯的時候因為雙引號或單引號的原因,到處資料丟失。

2.因此要將輸入資料中引號變成html實體。

3.怎麼變?答曰:htmlentities

    //php 5.2.6
    $text = trim($text);//去除資料頭尾空格
    //$text = strip_tags($text); //去掉html標籤,根據情況決定是否用此
    $text = htmlentities($text,ENT_QUOTES);//單引號,雙引號都轉化    

4.發現出來的資料是亂碼!

5.原來,雖然htmlentities是預設UTF-8,但是還是要加上。

    $text = trim($text);
    //$text = strip_tags($text);
    $text = htmlentities($text,ENT_QUOTES,"UTF-8");

6.嗯,正常了,英文雙引號變成了&quot;   <變成了&lt;等

7.對使用者資料再次編輯的時候,直接從資料庫讀出來,塞給input即可,不需要轉碼處理之後再塞給input。