删除任何非字母或数字的字母?

lau*_*kok 0 php regex preg-replace preg-match

我用来preg_match在输入中允许字母和数字,

if(!preg_match('/^[a-zA-Z0-9]+$/', $file_rename))
{
$error = true;
echo '<error elementid="file_rename" message="FILE - please use alphabets and numbers only" />';
}
Run Code Online (Sandbox Code Playgroud)

如果我想删除任何非字母或数字的字母怎么办?

例如,

test_1
Run Code Online (Sandbox Code Playgroud)

test 1
Run Code Online (Sandbox Code Playgroud)

要么,

test&2
Run Code Online (Sandbox Code Playgroud)

test 2
Run Code Online (Sandbox Code Playgroud)

rdl*_*rey 5

您正在寻找PHP preg_replace文档:

$str = preg_replace('/[^a-z0-9]/i', ' ', $str);
Run Code Online (Sandbox Code Playgroud)

注意i正则表达式末尾的修饰符 - 它使搜索不区分大小写.如果您不介意下划线,您可以选择:

$str = preg_replace('/[^\w]/', ' ', $str);
Run Code Online (Sandbox Code Playgroud)