php 编码和解码的函数
URL:
urlencode(); //编码
urldecode(); //解码
URL与数组互转:
parse_url ()
http_build_query()
base64:
base64_encode();
base64_decode();
JSON:
json_encode();
json_decode();
SESSION:
session_encode();
session_decode();
字符转为HTML实体:
htmlentities() / html_entity_decode()
所有字符转换为 HTML 实体
htmlspecialchars() / htmlspecialchars_decode()
将特殊字符"<" (小于)和 ">" (大于)转换为 HTML 实体
uuencode编码:
convert_uuencode();
convert_uudecode();
字符集编码相互转换:
iconv();
mb_convert_encoding();
字符写入数据库自动转义:
// magic_quotes_runtime 相关函数在PHP 5.3.0中已 弃用,并且自PHP 7.0.0起已删除
get_magic_quotes_runtime() 取得 PHP 环境变量 magic_quotes_runtime 的值。设置返回 1 或者 true
set_magic_quotes_runtime() 可以让程序员在代码中动态开启或关闭 magic_quotes_runtime,
set_magic_quotes_runtime(1) 表示开启,set_magic_quotes_runtime(0) 则表示关闭。当set_magic_quotes_runtime(1) 时,从数据库或通过fread之类的函数读取的文本,将自动对’ “和自动加上反斜杠进行转义,防止溢出。这在对数据库的数据进行转移的时候非常有用。
但在一般情况下,应当将其关闭,否则从数据库读取出来的数据单引号、双引号和反斜杠都会被加上,导致显示不正常。像Discuz,PHPWind都在公共文件的头部加上一句 set_magic_quotes_runtime(0); 强制关闭 magic_quotes_runtime 。
作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;
作用时间:每次当脚本访问运行状态中产生的数据.
字符转义:
// 自PHP 5.3.0起,此功能已被弃用 ,自PHP 5.4.0 起已被 删除。
magic_quotes_gpc
magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes(),一般在数据入库前要先进行转义。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测,如果 magic_quotes_gpc 为关闭时返回 0,否则返回 1。或者始终FALSE从PHP 5.4.0开始返回。
作用范围是:WEB客户服务端;
作用时间:请求开始是,例如当脚本运行时。
反斜线转义字符串:
addslashes() / stripslashes() 互为反函数
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:单引号('),双引号("),反斜杠(\),NULL
指定字符前添加反斜杠:
addcslashes() / stripcslashes() 互为反函数
注释:addcslashes() 函数对大小写敏感。 以 C 语言风格使用反斜线转义字符串中的字符。
注释:对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。
string addcslashes ( string $str , string $charlist )
返回字符串,该字符串在属于参数 charlist 列表中的字符前都加上了反斜线。
如果 charlist 中包含有 \n,\r 等字符,将以 C 语言风格转换,而其它非字母数字且 ASCII 码低于 32 以及高于 126 的字符均转换成使用八进制表示。
php 编码和解码的函数的更多相关文章
- Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数
文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() ...
- python2和python3的编码encode解码decode函数
python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8: 常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...
- BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...
- javascript实现URL编码与解码
一.预备知识 URI是统一资源标识的意思,通常我们所说的URL只是URI的一种.典型URL的格式如下所示.下面提到的URL编码,实际上应该指的是URI编码. foo://example.com:804 ...
- iOS面向编码|iOSVideoToolbox:读写解码回调函数CVImageBufferRef的YUV图像
iOS面向编码|iOSVideoToolbox:读写解码回调函数CVImageBufferRef的YUV图像 本文档基于H.264的解码,介绍读写Video Toolbox解码回调函数参数CVImag ...
- 关于JavaScript中的编码和解码函数
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...
- java中URL 的编码和解码函数
java中URL 的编码和解码函数java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascri ...
- NET MVC全局异常处理(一) 【转载】网站遭遇DDoS攻击怎么办 使用 HttpRequester 更方便的发起 HTTP 请求 C#文件流。 Url的Base64编码以及解码 C#计算字符串长度,汉字算两个字符 2019周笔记(2.18-2.23) Mysql语句中当前时间不能直接使用C#中的Date.Now传输 Mysql中Count函数的正确使用
NET MVC全局异常处理(一) 目录 .NET MVC全局异常处理 IIS配置 静态错误页配置 .NET错误页配置 程序设置 全局异常配置 .NET MVC全局异常处理 一直知道有.NET有相关 ...
- RapidJSON 代码剖析(三):Unicode 的编码与解码
根据 RFC-7159: 8.1 Character Encoding JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32. The defa ...
随机推荐
- Android输入法部分遮挡UI的问题(与EditText框相切)
首先,我们来看看遇到问题的图片 遇到的问题是,当点击输入框之后,输入法会切到红线的位置,理想状态应该是在绿线位置 那么,是什么原因造成的呢? 问题其实很简单,是因为drawableleft图片比该输入 ...
- 主机不能访问虚拟机中的web服务【解决方案】
百度了其它一些方法都不行,最后实在没辙,关了windows防火墙和Linux防火墙,居然能够访问了,我服. 总结一下,原来是Red Hat Linux 6.0防火墙没有开启端口80,开启的方法为(老版 ...
- ZOJ3953 Intervals
题意 有n个区间,要求删除一些区间使得不存在三个相交的区间.找出删除的最少区间. 分析 是个比较显然的贪心吧. 先按照区间的左起点进行排序,然后从左往右扫,当有三个区间相交的时候,删除那个右端点最远的 ...
- 非root配置linux下vim
在机子目录下建立 .vim文件夹 例如 /home/xxx/.vim 在~文件夹下建立.vimrc文件 这是你自己配置文件 vim虽然启用了格式化高亮.行号显示,以及括号匹配.自动缩进等编辑功能,对于 ...
- 521. Longest Uncommon Subsequence I 最长不同子数组
[抄题]: [暴力解法]: 时间分析: 空间分析: [优化后]: 时间分析: 空间分析: [奇葩输出条件]: [奇葩corner case]: [思维问题]: [一句话思路]: 两个单词的话,就是看谁 ...
- Linux系统获取CPU温度
Linux系统获取CPU温度 摘自:https://jingyan.baidu.com/article/cbf0e500407d072eab289343.html 各位好,本篇将简单介绍如何在不同系列 ...
- python -Tkinter 实现一个小计算器功能
文章来源:http://www.cnblogs.com/Skyyj/p/6618739.html 本代码是基于python 2.7的 如果是对于python3.X 则需要将 tkinter 改为Tk ...
- cmake笔记
注:cmake . 当前文件夹(一个点) cmake .. 父目录(两个点) 例子一 一个经典的C程序,如何用cmake来进行构建程序呢? //main.c #include <stdi ...
- div高度自适应窗口高度布局
给body和html都设置height:100%:然后子元素用百分比设置高度
- Js 正则获取Html元素
var html = $("#summaryTemplate").html(); var imageMath = /<img [^<,>]*(?=target-t ...