我正在寻找一种从地址中删除财产编号的方法。
例如地址可能是 - 56 Hello Road
我设法使用以下代码删除号码并且有效
$meta_url = trim(str_replace(range(0,9),'', $row[property_address_1]));
但是如果地址是56b Hello Road,它会离开b并返回-b Hello Road
知道如何编辑我当前的代码以删除下一个相应的字母吗?
答案 0 :(得分:2)
一种方法是使用regular expression:
preg_replace('/[0-9]+[a-z]/', '', $row['property_address_1'])
表达意味着:
[0-9]+
0-9范围内的一个或多个字符,后跟[a-z]
a-z 答案 1 :(得分:0)
首先,您可能希望将字符串拆分为空格,然后查看第一项是否符合某个条件:
<?php
$addressParts = explode(" ",$property_address);
if(preg_match('/\b[0-9]+[a-z]{0,2}\b/', $addressParts[0], $matches)){
unset($addressParts[0]);
}
$property_address = implode(" ",$addressParts);
?>
/\b[0-9]+[a-z]{0,2}\b/
表示:
\b
:开始时的字边界
[0-9]+
:任意长度的数字字符
[a-z]{0,2}
:min 0最多2个字母数字字符字符
\b
:结尾处的字边界