こんにちは、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
与えられたサンプルコードはまったく機能しません 未定義のインデックスが多すぎます: エラー