一直在搜索这个论坛,我发现我认为是帮助我的情况的代码,但我不确定如何实现它。我在WHMCS(网络托管管理软件)中有一个表单,我想将输入的电话号码转换成数字。
例如:最终用户输入(333) 444-5555
,但表单会读取并记录3334445555
。我还想放一个" 1。"同时在电话号码前面。因此,基于上述输入的最终输出将为1.3334445555
。
我的表单代码(第124行):http://pastebin.com/ngMTiPbA
这是我在本网站上找到的代码,我觉得可以帮助我。
preg_replace("/[^A-Za-z0-9 ]/", '', $string);
有人可以帮我把它放在一起吗?
答案 0 :(得分:3)
这样做:
$phone - '1.' . preg_replace('/\D/', '', $phone);
正则表达式\D
匹配任何非数字。
答案 1 :(得分:1)
下面的代码可以使用。
<?php
$str = '(333) 444-5555';
$numbers = preg_match_all('!\d+!', $str, $matches);
$numbers = implode('',$matches[0]);
$required_output = '1.'.$numbers;
echo $required_output; //output will be "1.3334445555"
?>
答案 2 :(得分:0)
你可以这样做:
$myPhone = "1." + (filter_var($myInpt, FILTER_SANITIZE_NUMBER_INT));
使用此函数filter_var(http://www.php.net/manual/en/function.filter-var.php),您可以在某个指定的过滤器上清理变量(请在此处阅读以获取更多信息:http://www.php.net/manual/en/filter.filters.sanitize.php)
所以,如果您的输入是
tel4568
函数回归
4568
与“1”连接你有所需的字符串。