Rumah >pembangunan bahagian belakang >masalah PHP >php addslashes用法详解

php addslashes用法详解

藏色散人
藏色散人asal
2021-03-17 11:22:392388semak imbas

php addslashes的用法是:首先创建一个PHP示例文件;然后通过“addslashes('Shanghai is the "biggest" city in China.');”在每个双引号前添加反斜杠即可。

php addslashes用法详解

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php函数addslashes()使用方法详解

实例

在每个双引号(")前添加反斜杠:

<?php
  $str = addslashes(&#39;Shanghai is the "biggest" city in China.&#39;);
  echo($str);
?>
运行实例:
Shanghai is the \"biggest\" city in China.

定义和用法

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

说明

string addslashes ( string $str )

返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。 例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。 强烈建议使用 DBMS 指定的转义函数 (比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string()),但是如果你使用的 DBMS 没有一个转义函数,并且使用 \ 来转义特殊字符,你可以使用这个函数。 仅仅是为了获取插入数据库的数据,额外的 \ 并不会插入。 当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。

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

推荐学习:《PHP视频教程

相关介绍:

  • stripcslashes() - 反引用一个使用 addcslashes 转义的字符串
  • stripslashes() - 反引用一个引用字符串
  • addcslashes() - 以 C 语言风格使用反斜线转义字符串中的字符
  • htmlspecialchars() - 将特殊字符转换为 HTML 实体
  • quotemeta() - 转义元字符集
  • get_magic_quotes_gpc() - 获取当前 magic_quotes_gpc 的配置选项设置

Atas ialah kandungan terperinci php addslashes用法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:bcsub是php啥扩展Artikel seterusnya:在php中如何实现7天免登录功能