zoukankan      html  css  js  c++  java
  • PHP用户输入数据进行过滤

    1.在表单中,input项,如果用户输入的是英文状态下的双引号或单引号,数据保存后。以后又在后台编辑的时候,<input value=" "这是带引号的值,因为引号导致问题" " ...>因为双引号或单引号的原因,发现数据“丢失”。

    2.因此要将输入数据中引号变成html实体。

    3.怎么变?答曰:htmlentities或者htmlspecialchars

    根据PHP手册来看,htmlentities或者htmlspecialchars几乎一样,而我使用中发现,字符串中有法文等用htmlentities会被转为html实体,用htmlspecialchars不会,而html实体除了<>&' " 没必要转换,所以最好用htmlspecialchars

        //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的value即可,不需要转码处理之后再塞给input。

  • 相关阅读:
    获取浏览器类型和版本
    js 防抖、节流
    判断数据类型
    一个函数判断数据类型
    面试题3道
    如何处理循环的异步操作
    this的原理以及几种使用场景
    v-model原理解析
    小程序setData数据量过大时候会对渲染有影响吗?
    js中in关键字的使用方法
  • 原文地址:https://www.cnblogs.com/html55/p/10172188.html
Copyright © 2011-2022 走看看