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

可以使用preg_replace()函数删除非字母数字字符。此函数执行正则表达式搜索和替换。函数preg_replace()搜索pattern指定的字符串, 并在找到后用替换替换pattern。

例子:

Input : !@srcmini2018?
Output : srcmini2018

Input : Geeks For Geeks
Output : srcmini

语法如下:

int preg_match( $pattern, $replacement_string, $original_string )

参数:此函数接受上述和以下所述的三个参数:

  • $ pattern:在字符串中搜索的模式。它必须是一个正则表达式。
  • $ replacement_string:匹配的模式将替换为replace_string。
  • $ original_string:它是完成搜索和替换的原始字符串。

返回值:

  • 替换发生后, 将返回修改后的字符串。
  • 如果未找到匹配项, 则原始字符串保持不变。

方法1:正则表达式‘/ [\ W] /’匹配所有非字母数字字符, 并将其替换为””(空字符串)。

$str = preg_replace( '/[\W]/', '', $str);

在正则表达式中, W是一个元字符, 其后是反斜杠(\ W), 其作用是使组合具有特殊含义。它表示非字母数字字符的组合。

例子:

<?php 
  
//string containing non-alphanumeric characters
$str = "!@srcmini2018?" ;
  
//preg_replace function to remove the
//non-alphanumeric characters
$str = preg_replace( '/[\W]/' , '' , $str );
  
//print the string
echo ( $str );
?>

输出如下:

srcmini2018

方法2:正则表达式‘/ [^ a-z0-9] / i’匹配所有非字母数字字符, 并将其替换为””(空字符串)。

$str = preg_replace( '/[^a-z0-9 ]/i', '', $str);

在正则表达式中:

  • i:它用于区分大小写。
  • a-z:它用于所有小写字母, 由于语句中已经提到了i(不区分大小写), 因此无需指定A-Z。
  • 0-9:它用于匹配所有数字。

例子:

<?php 
  
//string containing non-alphanumeric characters
$str = "!@srcmini2018?" ;
    
//preg_replace function to remove the 
//non-alphanumeric characters
$str = preg_replace( '/[^a-z0-9]/i' , '' , $str );
   
//print the string
echo ( $str );
?>

输出如下:

srcmini2018

来源:

https://www.srcmini02.com/68729.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?