📅  最后修改于: 2023-12-03 14:50:17.975000             🧑  作者: Mango
在PHP中处理字符串时,有时候需要删除特殊字符以便安全地处理数据。以下是一些方法,可以使用PHP函数和正则表达式来删除特殊字符。
使用strip_tags()
函数可以去除HTML和PHP标记,并且可以指定需要保留的标记。如下代码演示如何删除字符串中所有标记:
$string = "<b>Hello</b> World!";
$output = strip_tags($string);
// 输出:Hello World!
使用htmlentities()
函数可以将特殊字符转换为HTML实体。如下代码演示如何将字符串中的特殊字符转换为实体:
$string = "a&b<c>d\"e'";
$output = htmlentities($string);
// 输出:a&b<c>d"e'
使用htmlspecialchars()
函数可以将特殊字符转义为HTML实体,并可以指定需要转义的字符。如下代码演示如何将字符串中的特殊字符转义:
$string = "a&b<c>d\"e'";
$output = htmlspecialchars($string, ENT_QUOTES);
// 输出:a&b<c>d"e'
正则表达式可以很方便地删除字符串中的特殊字符。以下是一些常用的删除特殊字符的正则表达式。
使用/[\s,]+/
正则表达式可以删除字符串中的空格和逗号。
$string = "a, b, c d";
$output = preg_replace('/[\s,]+/', '', $string);
// 输出:abcd
使用/\D/
正则表达式可以删除字符串中的非数字字符。
$string = "a1b2c3";
$output = preg_replace('/\D/', '', $string);
// 输出:123
使用/[^\w\s]|_/
正则表达式可以删除字符串中的所有特殊字符。
$string = "a@b#c$d%e^f&g*h+i-j/k_l.m,n(o)p{q}r[s]t\\u|v?w~x`y!z";
$output = preg_replace('/[^\w\s]|_/', '', $string);
// 输出:abcdefghijklmnopqrstuvwxyz
以上是一些删除PHP中特殊字符的方法,你可以根据需要选择适合你的方法。