English 中文(简体)
PHP - 在任何字母之前删除任何数字
原标题:PHP - Remove any numbers before any letters

我正在处理地址 但我只是想删除 街道号码,eg

123 假 St

我使用以下正则表达式 /[a-z]/i ,该表达式运作良好,结果

fake St (编码)

然而,有时我也有这样的地址,例如:

M4 西部分配器 Fwy

我该如何保留M4部分?

M 西部分配器 Fwy

任何帮助都会感激不尽 欢呼

最佳回答

尝试

/^[0-9 ]+(?=[^d]+)/i

这与除数字以外的数字匹配, 测试 :

$subject =  123 Fake St ;
var_dump(preg_replace( /^[0-9 ]+(?=[^d]+)/i ,   , $subject));

$subject =  M4 Western Distributor Fwy ;
var_dump(preg_replace( /^[0-9 ]+(?=[^d]+)/i ,   , $subject));

产出:

string(7) "Fake St"
string(26) "M4 Western Distributor Fwy"
问题回答

使用使用

/[^a-z ]+/i

这将匹配任何一个或多个非字母的出现, 这些非字母被一个单词边界所捆绑。 实际上, 如果您只想删除数字, 您应该使用

/[d]+/

有时非正因方法也值得考虑

$test="123 Fake St";
    $arr=explode(" ",$test);
    if(ctype_digit($arr[0])){
        $test=str_replace($arr[0],"",$test);
    }
echo $test;




相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签