1 樓會有個bug,雖然在台灣目前不會出現。
但不保證未來那一天會不會冒出個「國號路」、「號角路」之類的路名!
(而且我也沒辦法去查地址中會不會冒出號這個字)
一但出現「國號路31號8樓」就會變成「國號xx」
以下正規表示式會從後尾找尋「號」字,不會指到較前出現的。
$str = "裕號路92巷5弄5號3樓";
$str = preg_replace("/號[^號]*$/","號XX",$str);
print $str;
返回: 裕號路92巷5弄5號XX
解釋正規表示式:
preg_replace("/號[^號]*$/","號XX",$str);
找
號 1個,
[^號] 不是 "號"
* 不管多少個
$ 句末
找得到就改為
號XX
如果找不到就會原句不變。
|