PHP删除字符串中非字母数字字符方法总结
投稿:laozhang
在本篇文章里小编给大家分享了关于PHP删除字符串中非字母数字字符方法和知识点,有需要的朋友们学习下。
可以使用preg_replace()函数删除非字母数字字符。此函数执行正则表达式搜索和替换。函数preg_replace()搜索由pattern指定的字符串,如果找到则用替换替换模式。
代码示例:
方法1:正则表达式'/ [\ W] /'匹配所有非字母数字字符,并用''(空字符串)替换它们。
$str = preg_replace( '/[\W]/', '', $str);
在正则表达式中,W是一个元字符,前面是反斜杠(\ W),用于赋予组合特殊含义。它表示非字母数字字符的组合。
例:
<?php // 包含非字母数字字符的字符串 $str="!@php.cn2019?"; // preg_replace函数删除 //非字母数字字符 $str = preg_replace( '/[\W]/', '', $str); //打印字符串 echo($str); ?>
输出:
phpcn2019
方法2:正则表达式'/ [^ a-z0-9] / i'匹配所有非字母数字字符,并用''(空字符串)替换它们。
$str = preg_replace( '/[^a-z0-9 ]/i', '', $str);
在正则表达式中:
i:它用于不区分大小写。
az:它用于所有小写字母,因为在语句中已经提到过i(不区分大小写),所以不需要指定AZ。
0-9:用于匹配所有数字。
<?php //包含非字母数字字符的字符串 $str="!@php.cn2019?"; // preg_replace函数删除 //非字母数字字符 $str = preg_replace( '/[^a-z0-9]/i', '', $str); //打印字符串 echo($str); ?>
输出:
phpcn2019
preg_replace句法:
int preg_match( $pattern, $replacement_string, $original_string )
参数:该函数接受如上所述的三个参数,如下所述:
$pattern:在字符串中搜索的模式。它必须是正则表达式。
$replacement_string:匹配的模式由replacement_string替换。
$original_string:这是完成搜索和替换的原始字符串。
返回值:
更换发生后,将返回修改后的字符串。
如果未找到匹配项,则原始字符串保持不变。