gpt4 book ai didi

php preg_replace 电话号码

转载 作者:行者123 更新时间:2023-12-04 22:20:02 26 4
gpt4 key购买 nike

我想替换 html 字符串中给定的电话号码,例如

<a>click here now! (123) -456-789</a>

我认为最好的方法是找到所有看起来像电话号码的不同情况,例如:
$pattern = *any 3 numbers* *any characters up to 3 characters long* 
$pattern .= *any 3 numbers* *any characters up to 3 characters long*
$pattern .= *any numbers up to 4 numbers long*

// $pattern maybe something like [0-9]{3}\.?([0-9]{3})\.?([0-9]{4})

$array = preg_match_all($pattern, $string);

foreach($array)
{
// replace the string with the the new phone number
}

基本上,正则表达式会如何?

最佳答案

我认为这将匹配两组三位数和一组四位数,中间有“通用”电话号码标点符号:
\d{3}[().-\s[\]]*\d{3}[().-\s[\]]*\d{4}
这允许三个数字,然后是任意数量的标点字符或空格,然后是三个数字,然后是更多标点符号,然后是四个数字。

但是,如果对输入格式没有更好的了解,您将永远无法真正确定您将获得 电话号码而不是其他电话号码,或者您不会跳过任何电话号码。

如果你想用你自己的号码替换你找到的号码,我可能会尝试这样的事情:

preg_replace('/\d{3}([().-\s[\]]*)\d{3}([().-\s[\]]*)\d{4}/',
"123$1456$27890", $input);

在替换字符串中, $1$2 是数字之间用括号括起来的两个标点块。通过这种方式,您可以只替换您找到的数字,并通过将相同的标点符号插入到结果字符串中来保留标点符号。

关于php preg_replace 电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com