简易正则表达式问题

时间:2010-04-30 19:22:39

标签: php regex preg-replace

尝试用可预测的包含字符串的文本blob替换信用卡号码的前12位数字:

信用卡号码:1234123412341234

这是我的PHP函数:

preg_replace('/Credit Card Number: ([0-9]{12})/','Credit Card Number: XXXXXXXXXXXX',$str);

帮助?

2 个答案:

答案 0 :(得分:2)

我没有看到什么是错的。也许你忘了分配结果?

$str = preg_replace('/Credit Card Number: [0-9]{12}/','Credit Card Number: XXXXXXXXXXXX',$str);

此外,如果您不需要,则无需在([0-9]{12})周围进行捕捉。

答案 1 :(得分:1)

愚蠢的问题:您将返回的值重新分配回$str吗?

$str = preg_replace('/(Credit Card Number: [0-9]{12}/','Credit Card Number: XXXXXXXXXXXX',$str);