如何删除PHP中的非字母数字字符?
可以使用 preg_replace()函数删除非字母数字字符。此函数执行正则表达式搜索和替换。函数preg_replace() 搜索由模式指定的字符串,如果找到则用替换替换模式。
例子:
Input : !@GeeksforGeeks2018?
Output : GeeksforGeeks2018
Input : Geeks For Geeks
Output : GeeksForGeeks
句法:
int preg_match( $pattern, $replacement_string, $original_string )
参数:该函数接受上面提到的三个参数,如下所述:
- $pattern:在字符串搜索的模式。它必须是正则表达式。
- $replacement_string:匹配的模式被replacement_string 替换。
- $original_string:搜索和替换的原始字符串。
返回值:
- 替换发生后,将返回修改后的字符串。
- 如果未找到匹配项,则原始字符串保持不变。
方法一:正则表达式'/[\W]/'匹配所有非字母数字字符并用''(空字符串)替换。
$str = preg_replace( '/[\W]/', '', $str);
在正则表达式中,W 是一个元字符,前面有一个反斜杠 (\W),用于赋予组合特殊的含义。它表示非字母数字字符的组合。
例子:
输出:
GeeksforGeeks2018
方法二:正则表达式'/[^a-z0-9 ]/i'匹配所有非字母数字字符并用' '(空字符串)替换它们。
$str = preg_replace( '/[^a-z0-9 ]/i', '', $str);
在正则表达式中:
- i:用于不区分大小写。
- az:用于所有小写字母,不需要指定AZ,因为i(不区分大小写)在语句中已经提到。
- 0-9:用于匹配所有数字。
例子:
输出:
GeeksforGeeks2018