如何在函数中包含多个preg_replace命令?

时间:2019-06-26 05:05:37

标签: php

当我的客户输入其帐单电话号码时,我需要将其以+ 614xxxxxxxxxxx的格式存储

客户通过多种方式输入电话号码: 0412345678 412345678 +61412345678

我发现了另一个StackOverflow帖子,其中包含一个简单删除前导0的函数。 我做了一个较小的更改,而不是将“ 0”替换为“ +61”,但不确定是否需要添加“以4开头的elseif数字”,替换为+614”?

add_action('woocommerce_checkout_process', 'removeLeadingZero');

function removeLeadingZero() {
    if (isset($_POST['billing_phone'])) {
       $_POST['billing_phone'] = preg_replace('/^0/', '+61', 
$_POST['billing_phone']);
    } 
}

1 个答案:

答案 0 :(得分:0)

您可以先尝试从开头删除0或+61,然后将结果与+61串联。所以:

  • 0123456变为+61123456
  • +61123456保持不变
  • 123456变为+61123456
$_POST['billing_phone'] = '+61' . preg_replace('/^0+|^[+]61/', '',
$_POST['billing_phone']);