2012-03-23 60 views
0

我写我们的消防部门将呼叫数据自动上传到我们网站上的申请模糊的数字。出于隐私的原因,我需要掩盖医疗电话的地址。从调度所提供的数据可能有地点,如PHP,需要在地址栏

100大街

1555一街

派出所

在我需要寻找数字和替换它们的字符串的开头开始用一个x直到我到达一个空格或一个字母。所以我最终会得到:

xxx Main Street

xxxx 1st。街

派出所

我开始与

$address = strtr($address, "1234567890", "xxxxxxxxxx"); 

却发现我有一个问题,当街道编号街道,如街1号。

我现在想

$pattern = '/^[0-9]+/'; 
$replacement = 'x'; 
$address = preg_replace($pattern, $replacement, $address); 

表达的作品,当我尝试在网上正则表达式测试仪,但不是在我的代码。

+0

还不如继续XS的字符串的长度相同,无论数字的位数。很容易猜到,例如,这是一个数字,那条街上只有一间房子。 – 2012-03-23 09:36:27

+0

正则表达式应该可以工作。你确定'$ address'的格式是否符合预期(例如前面没有空格)?如果你删除了'^'锚,它是否仍然不匹配第一组数字? – Jon 2012-03-23 09:36:56

回答

0

试试这个:

 $address = strtr($address, "1234567890", "xxxxxxxxxx"); 

//你可以把第一个结果在一个数组是这样的:

 $array = array("xst" => "x", "xnd" => "x", "xrd" => "x", "xth" => "x"); 

//并调用数组这样的最终结果:

 $address = strtr($address, $array); 
+0

我现在试试这个: – MattKnowles 2012-03-23 06:41:35

+0

告诉我它是否适合你!美好的一天! – 2012-03-23 07:50:45