我最近遇到了一个问题...我想将我的联系人从我的 LG U990 Viewty 转移到我的 iPhone 3GS
我将联系人从我的 LG 导出到一个包含所有地址的 vCard 文件中
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:A;
TEL;CELL;CHARSET=UTF-8:*121#
REV:20120720T081000Z
END:VCARD
现在,上述格式对所有联系人重复...在该单个文件中...
我想将此单个文件转换为原始 vcf 文件...不知道它们也无法导入 iPhone :(
实际解决方案:我需要将原始批量 vCard 文件上传到新的 gmail 帐户联系人并将我的联系人同步到 iTunes 中的该列表......最后我做到了
但是,我将 PHP 中的这段代码作为付费软件提供,人们购买它来破译联系人......这是下面的代码......免费
contacts.txt 是那个文件...在文本编辑器中打开该 vCard 文件并复制内容并制作此 contacts.txt 文件
$filename = "contacts.txt";
$fd = fopen ($filename, "r");
$contents = fread ($fd,filesize ($filename));
fclose ($fd);
$delimiter = "BEGIN:VCARD";
$splitcontents = explode($delimiter, $contents);
$counter = "";
$write = "";
$finalName = "";
foreach ( $splitcontents as $color )
{
$counter = $counter+1;
$first = strpos($color, "UTF-8:");
$second = strpos($color, "TEL;");
$name = substr($color, $first+6, $second-$first-7);
$wordChunks = explode(";", $name);
for($i = 0; $i < count($wordChunks); $i++)
{
if(trim($wordChunks[0])!="" || trim($wordChunks[1])!="" )
$finalName .= " ".$wordChunks[$i];
}
$finalName= trim($finalName);
$fileName = $finalName.".vcf";
$ourFileHandle = fopen($fileName, 'w') or die("can't open file");
$stringData = "BEGIN:VCARD ".$color;
fwrite($ourFileHandle, $stringData);
fclose($ourFileHandle);
$finalName = "";
}
这最终将生成上面给出的格式的 miltuple .vcf 文件......
我的问题:我所做的非常简单并且有漏洞 - 我们可以在 PHP 正则表达式中进行上述迭代和过滤吗?
这将是一个很好的学习?