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

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

转义字符的用处:

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. run as gradle test,未执行@Test中的内容(待解决)

  2. Spark进阶之路-Standalone模式搭建

    Spark进阶之路-Standalone模式搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Spark的集群的准备环境 1>.master节点信息(s101) 2&g ...

  3. scss学习总结

    vue安装scss: npm install sass-loader node-sass --save-dev 注意事项: <style lang="scss" scoped ...

  4. 我的vim插件配置

    set nocompatible " be iMproved, required filetype off " required " set the runtime pa ...

  5. 算法排序【时间复杂度O(n^2)】

    排序算法的两个原则: 1.输出结果为递增或者递减. 2.输出结果为原输入结果的排列或者重组. 平均时间复杂度为O(n^2)的排序算法有三种: 冒泡排序,插入排序,选择排序. 一.冒泡排序: 即谁冒泡泡 ...

  6. 计算机网络之互联网|因特网|万维网|HTTP|HTML之间的关系辨析

    本博文基于知乎"Web 是什么意思?"一问而引起.(本文均属于博主从知乎上自身所答搬运而至). 如无特殊声明,括号()内以分号分隔的名词均等效. 本文如无特殊引用声明,则所有内容版 ...

  7. Java SE之浅谈JDK SDK JRE

    JDK(Java Development Kit):   1.定义:编写Java程序的程序员使用的软件开发工具包,又被称为Java SDK (Java Software Development Kit ...

  8. DjangoAdmin自定义过滤器

    class UserIDFilter(admin.SimpleListFilter): # 自定义用户查询过滤器 title = _('关联用户') parameter_name = 'user_id ...

  9. 深入解析Java AtomicInteger 原子类型

    深入解析Java AtomicInteger原子类型 在进行并发编程的时候我们需要确保程序在被多个线程并发访问时可以得到正确的结果,也就是实现线程安全.线程安全的定义如下: 当多个线程访问某个类时,不 ...

  10. Mybatis进阶学习笔记——关系查询——一对一查询

    用户和订单的需求 通过查询订单,查询用户,就是一对一查询 (1)自定义JavaBean(常用,推荐使用) <select id="queryOrderUser" result ...