插件窝 干货文章 php7 字符串 转义

php7 字符串 转义

字符串 字符 转义 换行符 620    来源:    2025-03-19

在 PHP 7 中,字符串转义是指将字符串中的特殊字符转换为它们的转义序列,以便在字符串中正确表示这些字符。常见的转义字符包括:

  • \n:换行符
  • \r:回车符
  • \t:制表符
  • \\:反斜杠
  • \$:美元符号
  • \":双引号
  • \':单引号

1. 双引号字符串中的转义

在双引号字符串中,PHP 会自动解析转义字符。例如:

$str = "这是一个包含换行符的字符串\n这是第二行。";
echo $str;

输出:

这是一个包含换行符的字符串
这是第二行。

2. 单引号字符串中的转义

在单引号字符串中,PHP 不会解析大多数转义字符,只有 \\\' 会被解析。例如:

$str = '这是一个包含换行符的字符串\n这是第二行。';
echo $str;

输出:

这是一个包含换行符的字符串\n这是第二行。

3. 使用 addslashes 函数

addslashes 函数可以在字符串中的特定字符前添加反斜杠,这些字符包括单引号 (')、双引号 (")、反斜杠 (\) 和 NULL 字符 (\0)。

$str = "这是一个'包含'特殊字符的字符串";
echo addslashes($str);

输出:

这是一个\'包含\'特殊字符的字符串

4. 使用 stripslashes 函数

stripslashes 函数用于去除字符串中的反斜杠。

$str = "这是一个\'包含\'特殊字符的字符串";
echo stripslashes($str);

输出:

这是一个'包含'特殊字符的字符串

5. 使用 htmlspecialchars 函数

htmlspecialchars 函数用于将特殊字符转换为 HTML 实体,以防止 XSS 攻击。

$str = "<script>alert('XSS');</script>";
echo htmlspecialchars($str);

输出:

&lt;script&gt;alert(&#039;XSS&#039;);&lt;/script&gt;

6. 使用 htmlentities 函数

htmlentities 函数将所有适用的字符转换为 HTML 实体。

$str = "<script>alert('XSS');</script>";
echo htmlentities($str);

输出:

&lt;script&gt;alert(&#039;XSS&#039;);&lt;/script&gt;

7. 使用 nl2br 函数

nl2br 函数用于将字符串中的换行符 (\n) 转换为 HTML 的 <br> 标签。

$str = "这是一个包含换行符的字符串\n这是第二行。";
echo nl2br($str);

输出:

这是一个包含换行符的字符串<br />
这是第二行。

总结

在 PHP 7 中,字符串转义可以通过多种方式实现,具体取决于你的需求。双引号字符串会自动解析转义字符,而单引号字符串则不会。你还可以使用 addslashesstripslasheshtmlspecialcharshtmlentitiesnl2br 等函数来处理字符串中的特殊字符。