`stripslashes` 和 `addslashes` 是 PHP 中两个用于处理字符串的特殊字符的函数,它们的作用相反。
### `addslashes`
`addslashes` 函数用于在指定的预定义字符前添加反斜杠(`\`)。这些预定义字符是:
- 单引号(')
- 双引号(")
- 反斜杠(\)
- NULL 字符(即 ASCII 值为 0 的字符)
这个函数主要用于处理字符串,以便在数据库查询中安全地使用,防止 SQL 注入攻击。它不会修改字符串中的非预定义字符。
**示例**:
$str = "It's a test.";
$escapedStr = addslashes($str);
echo $escapedStr; // 输出:It\'s a test.
### `stripslashes`
`stripslashes` 函数则用于去除字符串中的反斜杠。这个函数通常与 `addslashes` 一起使用,用于在数据被处理或显示之前,还原之前被 `addslashes` 添加的反斜杠。
**示例**:
$escapedStr = "It\'s a test.";
$unescapedStr = stripslashes($escapedStr);
echo $unescapedStr; // 输出:It's a test.
### 总结
- `addslashes`:向字符串中的特定字符添加反斜杠,常用于数据入库前的预处理,防止 SQL 注入等安全问题。
- `stripslashes`:去除字符串中的反斜杠,常用于数据出库后或显示前的处理,恢复字符串的原貌。