📜  如何删除PHP中的非字母数字字符?

📅  最后修改于: 2022-05-13 01:54:10.912000             🧑  作者: Mango

如何删除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