遍历vcf文件获取电话号码

      前几天我朋友诺基亚的手机屏坏了,不知道送到哪去修了,反正还没修好,但是把联系人信息弄回来了,一个文件家,全部是vcf格式的文件,一个一个的。想把这些联系人存到一个暂时用的手机里。杯具的事情发生了,不知道怎么弄。

 

      当然我也不知道怎么弄,最后我说那要不把这些号码在一张纸上打印出来吧,凑活着用用。

 

      那我们身为程序员,肯定弄一个程序解决了,自己手动操作不要太痛苦哦。

 

     代码很短,写加调试加结果,十分钟搞定收工。

 

     代码附上:

 

<pre>
<h1>遍历vcf文件获取电话号码</h1>
<?php
file_put_contents('log.txt','');
if($handle = opendir('abc')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            if(is_file('./abc/'.$file)){
                $poa = substr($file,0,(strrpos($file,'.')));

                $s = file_get_contents('./abc/'.$file);
                preg_match_all("|CELL:(\+)?(\d+)|",$s,$o);
                preg_match_all("|HOME:(\+)?(\d+)|",$s,$oo);

                $str = "姓名:".sprintf("%-30s",$poa)." 号码:{$o[0][0]} {$oo[0][0]}"."\r\n";
                file_put_contents('log.txt',$str,FILE_APPEND);
            }
        }
    }
    closedir($handle);
}
?>
</pre>
 

   当然,快餐做的,代码还是有些缺陷的,但是针对当前问题还是完美解决的!

 

 

 

PS:

 

我想如果一个人有四个号码,该怎么样提取。却发现这么一个情况

TEL;WORK;VOICE:123123

 

TEL;CELL:13771106535

 

不同软件存储的vcf文件的电话前缀是不一样的,所以需要各位根据实际的情况处理了。

 

改这里你会获得你要的结果。

preg_match_all("| CELL: (\+)?(\d+)|",$s,$o);
preg_match_all("| HOME: (\+)?(\d+)|",$s,$oo);

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值