转换为可点击电话链接

时间:2017-10-27 07:10:24

标签: php function tel

我正在玩一个基本功能,并想知道下面是否是一个特别有效的方法,可以从纯文本转换为可点击的电话链接?

该函数将假设以下纯文本方案:

  • 01234 123 456
  • +44 1234 123 456
  • +44(0)1234 123 456

这里的功能是:

function pd_convert_tel_number($tel) {
    if (substr( $tel, 0, 1 ) === '0') {
        $tel = '<a href="tel:+44'.ltrim(str_replace(' ', '', $tel), '0').'">'.$tel.'</a>';
    } else if(strpos($tel, '+44') !== false || strpos($tel, '(0)') !== false) {
        $tel = '<a href="tel:'.str_replace(array( '(0)', ' ' ), '', $tel).'">'.$tel.'</a>';
    } else {
        $tel = '<a href="tel:"'.$tel.'">'.$tel.'</a>';
    }

    return $tel;
}

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式 这会将一个href标签添加到phonneumber中。

https://regex101.com/r/vT9phL/1

$re = '/^(0|\+44)(.*)/m';
$str = '01234 123 456
+44 1234 123 456
+44 (0) 1234 123 456';
$subst = '<a href="tel:+44 $2>$2</a>';

$result = preg_replace($re, $subst, $str);

echo $result;

模式将匹配&#34; 0&#34;或者字符串开头的+44和&#34;删除它&#34;然后添加href。

答案 1 :(得分:0)

我会创建一个正确格式化电话号码的功能(不添加<a></a>。然后我会添加带有格式化电话号码的链接。但是如果你的功能有效,它似乎也不会坏。