合并并将vCard文件转换为CSV

时间:2015-12-30 22:18:15

标签: php regex node.js csv vcf

我需要使用PHP

将几个联系人(vCard)文件转换为单个CSV文件

我已经在nodejs中尝试过这个脚本:https://gist.github.com/sriranggd/738325

另外,我不想使用在线解决方案,也不想安装任何软件,所以我想知道我是否能找到一个我理解的脚本,可以在PHP或NodeJS本地运行它

1 个答案:

答案 0 :(得分:1)

在网上尝试了几个脚本(php& nodejs)后,我决定创建自己的小脚本,它从文件名中获取联系人姓名,用简单的正则表达式搜索电话号码。

<?php
$files = scandir( './contacts' );
$fp = fopen( "./contacts.csv", 'w' );

foreach ($files as $contact) {
    if( !preg_match( "/\.vcf$/i", $contact ) ) continue;

    $name = str_replace( ".vcf", "", $contact );
    if( empty( $name ) ) continue;

    $content = file_get_contents( "./contacts/$contact" );

    preg_match_all( "/\+?\d+/i", $content, $m); 

    $row = array($name, end( $m[0] ) );
    fputcsv($fp, $row);
}

fclose($fp);
echo "Done";
  

这个脚本非常有限,但我想分享它,因为它很容易适应其他用法。

我希望有一天能帮到某人。