1

こんにちは、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

与えられたサンプルコードはまったく機能しません 未定義のインデックスが多すぎます: エラー

4

2 に答える 2

1

オープン ソース プロジェクトの vCard PHP を見てみましょう。私のために働いた!

http://vcardphp.sourceforge.net/

于 2011-08-07T08:07:33.423 に答える