1. html_entity_decode():把html实体转换为字符。
$str = "just atest & 'learn to use '";
echo html_entity_decode($str);
echo "<br />";
echo html_entity_decode($str,ENT_QUOTES);
echo "<br />";
echo html_entity_decode($str,ENT_NOQUOTES);

输出如下:

just a test & 'learn to use '
just a test & 'learn to use '
just a test & 'learn to use '
  1. htmlentities():把字符转换为html实体。
$str = "just a test & 'learn to use'";
echo htmlentities($str,ENT_COMPAT);
echo "<br/>";
echo htmlentities($str, ENT_QUOTES);
echo "<br/>";
echo htmlentities($str, ENT_NOQUOTES);

输出如下:

just a test & 'learn to use'
just a test & 'learn to use'
just a test & 'learn to use'

查看源代码如下:

just a test & 'learn to use'<br />
just a test & 'learn to use'<br />
just a test & 'learn to use'
  1. addslashes():在指定的预定义字符前添加反斜杠

预定义字符包括:单引号(‘),双引号(“),反斜杠(),NULL

默认情况下,PHP指令 magic_quotes_gpc 为 on,对所有的GET、POST 和COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数get_magic_quotes_gpc() 进行检测。

$str3="\ just a  '  \" test";
echo addslashes($str3);

输出:

\\ just a \' \" test
  1. stripslashes():删除由addslashes函数添加的反斜杠
$str4="\\ just a \'\" test";
echo stripslashes($str4);

输出:

just a ' " test
  1. htmlspecialchars():把一些预定义的字符转换为html实体。
预定义字符包括:& (和号) 成为&
 " (双引号) 成为"
' (单引号) 成为'
< (小于) 成为<
> (大于) 成为>

$str5 = "just atest & 'learn to use'";
echo htmlspecialchars($str5, ENT_COMPAT);
echo "<br/>";
echo htmlspecialchars($str5, ENT_QUOTES);
echo "<br/>";
echo htmlspecialchars($str5, ENT_NOQUOTES);

输出:

just a test & 'learn to use'
just a test & 'learn to use'
just a test & 'learn to use'

查看源代码:

just a test & 'learn to use'<br />
just a test & 'learn to use'<br />
just a test & 'learn to use'
  1. htmlspecialchars_decode():把一些预定义的html实体转换为字符。
会被解码的html实体包括:& 成为 &(和号)
 " 成为 " (双引号)
 ' 成为 ' (单引号)
 < 成为 < (小于)
 > 成为 > (大于)

	$str6 = "just atest & 'learn to use'";
	echo htmlspecialchars_decode($str6);
	echo "<br />";
	echo htmlspecialchars_decode($str6, ENT_QUOTES);
	echo "<br />";
	echo htmlspecialchars_decode($str6, ENT_NOQUOTES);

输出:

just a test & 'learn to use '
just a test & 'learn to use '
just a test & 'learn to use '

查看源代码:

just a test & 'learn to use '<br />
just a test & 'learn to use '<br />
just a test & 'learn to use '
  1. 防注入防web脚本综合使用:
$str= htmlspecialchars(addslashes($str));
$str= htmlspecialchars_decode(stripslashes($str));

声明:本文为转载文章,为防止丢失所以做此备份。

原文地址:https://www.jb51.net/article/99548.htm

浅谈htmlentities 、htmlspecialchars、addslashes的使用方法的更多相关文章

  1. 【ASP.NET MVC系列】浅谈表单和HTML辅助方法

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

  2. 浅谈js分页的几种方法

    一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意 ...

  3. 浅谈Vue响应式(数组变异方法)

    很多初使用Vue的同学会发现,在改变数组的值的时候,值确实是改变了,但是视图却无动于衷,果然是因为数组太高冷了吗? 查看官方文档才发现,不是女神太高冷,而是你没用对方法. 看来想让女神自己动,关键得用 ...

  4. 浅谈XSS攻击原理与解决方法

    概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人 ...

  5. 浅谈人脸检测之Haar分类器方法

    我们要探讨的Haar分类器实际上是Boosting算法(提升算法)的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并 ...

  6. 浅谈JavaScript中的string拥有方法的原因

    我们都知道,JavaScript数据类型分两大类,基本类型(或者称原始类型)和引用类型. 基本类型的值是保存在栈内存中的简单数据段,它们是按值访问的.JS中有五种基本类型:Undefined.Null ...

  7. 浅谈Java多线程中的join方法

    先上代码 新建一个Thread,代码如下: package com.thread.test; public class MyThread extends Thread { private String ...

  8. shell实例浅谈之一产生随机数七种方法

    一.问题 Shell下有时需要使用随机数,在此总结产生随机数的方法.计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数).伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产 ...

  9. (转)shell实例浅谈之产生随机数七种方法

    一.问题 Shell下有时需要使用随机数,在此总结产生随机数的方法.计算机产生的的只是“伪随机数”,不会产生绝对的随机数(是一种理想随机数).伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产 ...

随机推荐

  1. Primitive data types recap

  2. GRpc-Proto3语法

        syntax = "proto3"; 文件的第一行指定了你使用的是proto3的语法:如果你不指定,protocol buffer 编译器就会认为你使用的是proto2的语 ...

  3. HTMLWEST网页特效大全

    网页特效大全网:www.htmlwest.com 收藏一下,很不错的站.

  4. 产品开发也要看阵容,APP开发只需五步变得靠谱

    最早认识的一个朋友是程序员,曾经到一家外包公司接单子,小外包公司经常遇到的问题就是和需求方谈产品功能.客户要做外包,对方让他一次性报价,但是客户连功能点自己都不清楚,这时朋友说还是按照具体功能点来做吧 ...

  5. RocketMQ学习笔记(12)----RocketMQ的Consumer API简介

    由于消息的消费方式有两种,所以两种方式也有不同的API: 1. PushConsumer的配置 1. consumerGroup: 默认值为DEFAULT_CONSUMER,Consumer组名,多个 ...

  6. 一些AngularJs

    # AngularJs部分 #     详情可参考文档----依赖注入--不是主动地获取而是被动的接收,需要什么就要什么,这样灵活较高,如:$scope ----指令--内部:ng-    如:ng- ...

  7. 2、使用Python3爬取美女图片-网站中的妹子自拍一栏

    代码还有待优化,不过目的已经达到了 1.先执行如下代码: #!/usr/bin/env python #-*- coding: utf-8 -*- import urllib import reque ...

  8. ArcGIS探索

    一.ArcGIS10概述 1.1 总览 ArcGIS是地理信息系统平台软件,主要用于创建和使用地图,编辑和管理地理数据,分析和共享地理信息,并在一系列应用中使用地图和地理信息. 功能定位: a.地图: ...

  9. 洛谷P1004 方格取数

    网络流大法吼 不想用DP的我选择了用网络流-- 建模方法: 从源点向(1,1)连一条容量为2(走两次),费用为0的边 从(n,n)向汇点连一条容量为2,费用为0的边 每个方格向右边和下边的方格连一条容 ...

  10. 2.WHERE中使用=,>,>=,<,<=,<>,!=比较符号

        //查询工资大于等于2000的人   select * from person salary >= 2000;   //查询名字等于scott的人   select * from per ...