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

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

转义字符的用处:

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. 常用nginx rewrite重定向-跳转实例:

    1,将www.myweb.com/connect 跳转到connect.myweb.com rewrite ^/connect$ http://connect.myweb.com permanent; ...

  2. loadrunner java ssh

    s D:\TestCase\20170703_docker_rongqiyun\tc_docker_ssh_docker_push\Actions.java /* * LoadRunner Java ...

  3. JavaEE学习总结(十四)— 人工智能微博

    一.数据库与表 人工智能微博(blog) note(id,bt,nr);微博信息(编号,标题,内容) 列表添加 数据库脚本 /* Navicat MySQL Data Transfer Source ...

  4. Hbase记录-Hbase基础概念

    HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...

  5. C#设计模式(15)——迭代器模式

    1.迭代器模式介绍 迭代器模式主要用于遍历聚合对象,将聚合对象的遍历行为分离出来,抽象为一个迭代器来负责.迭代器模式用的十分普遍,C#/JAVA等高级语言都对迭代器进行了封装用于遍历数组,集合,列表等 ...

  6. JS简史

    一.产生背景 1)在JavaScript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,是否输入了无效的值: 2)为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负 ...

  7. 20155332 2016-2017-2 《Java程序设计》第9周学习总结

    20155332 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义 ...

  8. C# 简单线程实例

    1.简单线程实例 以及委托(同步委托.异步委托) using System; using System.Collections.Generic; using System.Linq; using Sy ...

  9. 【金色】种瓜得瓜,种豆得豆 Gym - 102072H (线段树)

    题目链接:https://cn.vjudge.net/problem/Gym-102072H 题目大意:中文题目 具体思路:通过两棵线段树来维护,第一棵线段树来维护当前坐标的点的日增长速度(默认每一年 ...

  10. 【Udacity并行计算课程笔记】- Lesson 2 The GPU Hardware and Parallel Communication Patterns

    本小节笔记大纲: 1.Communication patterns gather,scatter,stencil,transpose 2.GPU hardware & Programming ...