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。

猜你喜欢

转载自www.cnblogs.com/html55/p/10172188.html