首先大家可以简单了解下什么是转义字符?有什么用?

转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。

转义字符的用处:

1:将普通字符转为特殊用途,如后退键,回车键等。

2:用来将特殊意义的字符转换回它原来的意义。

3:在数据写入数据库前,都会使用转义字符(函数)对一些敏感字符进行转义。避免网站被注入攻击。

那么我们在PHP开发项目过程中,可能就会遇到需要将大量数据进行转义的操作。

下面我们就通过简单的代码示例为大家介绍PHP转义还原字符串的方法。

一、转义字符串的函数使用示例:

<?php

$str = "['name'=>'张三','age'=>19]";

echo $str . "<br>";

//对字符串进行转义

$a = addslashes($str);

//输出转义后的字符串

echo $a . "<br>";

addslashes函数:使用反斜线引用字符串。

其中参数则表示要转义的字符数据。返回值是返回转义后的字符。

上述代码中我们定义一个数组变量$str,并且使用双单引号进行表示,再使用PHP中addslashes函数进行转义。这里我们需要注意,不能使用四个双引号,因为那样的话系统就没有办法解析字符串开始和结束的位置,出现错误解析。

那么通过浏览器访问,转义字符串数据的结果如下图所示:

二、还原字符串的函数使用示例:

<?php

$str = "['name'=>'张三','age'=>19]";

echo $str . "<br>";

//对字符串进行转义

$a = addslashes($str);

//输出转义后的字符串

echo $a . "<br>";

//对转义后的字符串进行还原

$b = stripslashes($a);

//输出还原后的字符串

echo $b . "<br>";

stripslashes函数:反引用一个引用字符串。

返回值则是,一个去除转义反斜线后的字符串(\' 转换为 ' 等等)。双反斜线(\\)被转换为单个反斜线(\)。

这里我们主要使用到stripslashes函数将转义后的字符串进行还原。

通过浏览器访问结果如下图:

PHP实现字符串转义和还原的更多相关文章

  1. PHP怎么实现字符串转义和还原?

    首先大家可以简单了解下什么是转义字符?有什么用? 转义字符是一种特殊的字符常量.转义字符以反斜线"\"开头,后跟一个或几个字符.转义字符具有特定的含义,不同于字符原有的意义,故称“ ...

  2. 用python处理html代码的转义与还原

    用python处理html代码的转义与还原   转义 escape: import cgi s = cgi.escape("""& < >" ...

  3. 是否采用Sybase形式的自动字符串转义(用 '' 表示 ')

    ;; 关于php.ini ;; ; 这个文件必须命名为'php.ini'并放置在httpd.conf中PHPINIDir指令指定的目录中. ; 最新版本的php.ini可以在下面两个位置查看: ; h ...

  4. python字符串转义与正则表达式特殊字符转义

    最近在自学python,字符串和正则表达式的特殊字符转义有点混淆,做个笔记简单总结一下. 1.普通字符串转义 在字符串中使用特殊字符时,要用反斜杠(\)转义字符.例如:'Let\'s go!',这里对 ...

  5. PHP字符串转义

    与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql ...

  6. 从 RegExp 构造器看 JS 字符串转义设计

    多年前我第一次入职腾讯的时候,DC 从杭州给我寄来了一本他刚翻译出炉的<高性能 JavaScript>.那段时间为了帮忙校对,我仔细阅读了书中的每一个段落,结果积累了不少 JavaScri ...

  7. java字符串转义,把&lt;&gt;转换成<>等字符【原】

    java字符串转义,把<>转换成<>等字符 使用的是commons-lang3-3.4 中的StringEscapeUtils类 package test; import ja ...

  8. 字符串转义为HTML

    有时候后台返回的数据中有字符串,并需要将字符串转化为HTML,下面封装了一个方法,如下 // html转义 function htmlspecialchars_decode(string, quote ...

  9. react将字符串转义成html语句

    在使用reactjs库的时候,会遇到将一段html的字符串,然后要将它插入页面中以html的形式展现,然而直接插入的话页面显示的就是这段字符串,而不会进行转义,可以用以下方法插入,便可以html的形式 ...

随机推荐

  1. IOS绘图的核心步骤

    在view上绘制一个图形的方式有很多种,表现形式可能不一样,但其实质步骤都是一样的: 1)获取上下文 2)绘制路径 3)添加路径到上下文 4)修改图形状态参数 5)渲染上下文 下面我们以画一个圆形来演 ...

  2. redis工具类 ----RedisPoolUtil

    这里介绍一下,这个工具类不是在分布式环境下来用的,就是我们平常使用的,单机状况下,为什么博主开头要这样强调呢?因为,之前见网上有些博友有这样封装的,也有RedisShardedPoolUtil 封装的 ...

  3. spring整合redis-----ShardedJedisPool实现

    redis是一个非常优秀的缓存框架,良好的api,强悍的性能,是现在非常非常火的缓存框架.下面来介绍一下spring中是如何整合redis的 分析: 需要引入依赖 需要配置连接池,就是一个xml文件, ...

  4. Study 8 —— 行块元素及定位

    行&块元素display:inline;display:block;display:inline-block; 盒模型padding[内边距]padding: 上下内边距 左右内边距;padd ...

  5. 【DS】排序算法的稳定性

    主要的排序算法有八种:直接插入排序,希尔排序(这两种统称为插入排序),冒泡排序,快速排序(这两种统称为交换排序),直接选择排序,堆排序(这两种统称为选择排序),归并排序,基数排序.今天我们就讨论一下它 ...

  6. WorkerMan 入门学习之(二)基础教程-Connection类的使用

    一.TcpConnection类 的使用 1.简单的TCP测试 Server.php <?php require_once __DIR__.'/Workerman/Autoloader.php' ...

  7. python遍历数组获取下标

    代码 通过枚举实现 a = [,,,,,] for i,j in enumerate(a): print i,j 结果

  8. C# CEF 封装UserControl

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...

  9. VS2013中修改MFC对话框左上角和exe图标

    一.开发环境 1.VS2013: 2.C++ / MFC: 二.更改步骤 1)创建一个新工程,可以什么都不加.打开“资源视图”, 右键点击项目名称,选择“添加资源”,导入“Icon”资源文件(事先准备 ...

  10. composer设计原理与基本用法

    原文地址:http://blog.turn.tw/?p=1039 COMPOSER進階原理:PHP命名空間與PSR-0   http://blog.turn.tw/?p=1122 Moving PHP ...