用正则表达式替换字符


Replacing characters with regular exp

假设我有一个来自form.的变量

$number = $_REQUEST['number'];

它只能有三种类型的值。

1. 9***2331**32
2. 9%%132%%13%%
3. 3xxx31231xx4

所以只有*,%,x

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

尝试:

$number = str_replace(array('*','%','x'),"_",$number);

这会将每个"*,%,x"替换为"_"

p.S:检查手动

$output = preg_replace("/[*%x]+?/", "_", $input_lines);

使用您的示例,您将得到以下内容:

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