嗨,我想将 vCard 格式解析为数组。用户可以上传 vCard 2,1 或 vCard 3.0 我应该能够解析它。我只想将带有 vCard 中名称的电子邮件放入 php 数组中。
我试过 vcardphp.sourceforge.net。
<?php
require("vcard.php");
$cards = parse_vcards(file('sample.txt'));
print_r($cards);
function parse_vcards($lines)
{
$cards = array();
$card = new VCard();
while ($card->parse($lines)) {
$property = $card->getProperty('N');
if (!$property) {
return "";
}
$n = $property->getComponents();
$tmp = array();
if ($n[3]) $tmp[] = $n[3]; // Mr.
if ($n[1]) $tmp[] = $n[1]; // John
if ($n[2]) $tmp[] = $n[2]; // Quinlan
if ($n[4]) $tmp[] = $n[4]; // Esq.
$ret = array();
if ($n[0]) $ret[] = $n[0];
$tmp = join(" ", $tmp);
if ($tmp) $ret[] = $tmp;
$key = join(", ", $ret);
$cards[$key] = $card;
// MDH: Create new VCard to prevent overwriting previous one (PHP5)
$card = new VCard();
}
ksort($cards);
return $cards;
}
?>
未定义索引:第 146 行 H:\www\vcardphp\vcard.php 中的 ENCODING 注意:未定义索引:第 149 行 H:\www\vcardphp\vcard.php 中的 CHARSET
并且给出的示例代码根本不起作用太多未定义的索引:错误