2012-03-23 63 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