Php 用正则表达式替换字符

Php 用正则表达式替换字符,php,regex,Php,Regex,假设我有一个来自表单的变量 $number = $_REQUEST['number']; 它只能有三种类型的值 1. 9***2331**32 2. 9%%132%%13%% 3. 3xxx31231xx4 所以只有*,%,x 如何将通配符替换为常规exp to'尝试: $number = str_replace(array('*','%','x'),"_",$number); 这会将每个“*,%”,x'替换为“\ux” 附言:检查一下菜单 使用您的示例,您将得到以下结果: 1. 9___

假设我有一个来自表单的变量

$number = $_REQUEST['number'];
它只能有三种类型的值

1. 9***2331**32
2. 9%%132%%13%%
3. 3xxx31231xx4
所以只有
*,%,x

如何将通配符替换为常规exp to
'

尝试:

$number = str_replace(array('*','%','x'),"_",$number);
这会将每个“*,%”,x'替换为“\ux”

附言:检查一下菜单

使用您的示例,您将得到以下结果:

1. 9___2331__32
2. 9__132__13__
3. 3___31231__4

那么,为什么不做一个字符串替换呢?我已经读了一些关于正则表达式的内容,但还不太了解。只有google php字符串替换,正则表达式用于匹配模式,您试图替换的单个字符非常简单。Grant-使用str_replace需要3 if语句SSO?清晰是王道,不是代码行。足够近,但我需要更换每个*%x。例如,它是8xx92,它应该是8_uuu92,而不是8_92。请立即尝试。
1. 9___2331__32
2. 9__132__13__
3. 3___31231__4