プログラム上でバージョン 2.1 あるいは 3.0 の vCard を作成し、vCard テキストを読み込みます。
Contact_Vcard_Build を PEAR アーカイブからダウンロードし、展開します。
PHP スクリプトで Contact_Vcard_Build.php
をインクルードします。
新しい Contact_Vcard_Build オブジェクトのインスタンスを作成します (デフォルトでは vCard のバージョンは 3.0 となりますが、 2.1 の vCards もサポートしています)。
値やパラメータを vCard に設定あるいは追加します。
完成した vCard を読み込み、print_r() を使用して結果を見ます。
サンプルコード
<?php
// クラスファイルをインクルードします
require_once 'Contact_Vcard_Build.php';
// ビルダオブジェクトを作成します
// (デフォルトはバージョン 3.0 です)
$vcard = new Contact_Vcard_Build();
// フォーマットされた名前を設定します
$vcard->setFormattedName('Bolivar Shagnasty');
// 構造化された名前のパーツを設定します
$vcard->setName('Shagnasty', 'Bolivar', 'Odysseus',
'Mr.', 'III');
// 職場の email を追加します。まず値を追加した後で
// パラメータを設定していることに注意しましょう。
// Contact_Vcard_Build は、パラメータをきちんと
// 正しい位置に追加します。
$vcard->addEmail('[email protected]');
$vcard->addParam('TYPE', 'WORK');
// 家で使用するお気に入りの email を追加します
$vcard->addEmail('[email protected]');
$vcard->addParam('TYPE', 'HOME');
$vcard->addParam('TYPE', 'PREF');
// 職場の住所を追加します
$vcard->addAddress('POB 101', 'Suite 202', '123 Main',
'Beverly Hills', 'CA', '90210', 'US');
$vcard->addParam('TYPE', 'WORK');
// vCard に戻り、内容を表示します
$text = $vcard->fetch();
echo '<pre>';
print_r($text);
echo '</pre>';
?>
2.1
の仕様では、CRLF
(\r\n
) を改行に使用しています。
以下のコンポーネントとパラメータが使用可能です。
パラメータ
TYPE は DOM, INTL, POSTAL, PARCEL, HOME, WORK, PREF, VOICE, FAX, MSG, CELL, PAGER, BBS, MODEM, CAR, ISDN, VIDEO, AOL, APPLELINK, ATTMAIL, CIS, EWORLD, INTERNET, IBMMAIL, MCIMAIL, POWERSHARE, PRODIGY, TLX, X400, GIF, CGM, WMF, BMP, MET, PMB, DIB, PICT, TIFF, PDF, PS, JPEG, QTIME, MPEG, MPEG2, AVI, WAVE, AIFF, PCM, X509, あるいは PGP。
ENCODING は 7BIT, 8BIT, BASE64, QUOTED-PRINTABLE。
VALUE は INLINE, CONTENT-ID, CID, URL, VCARD。
CHARSET は任意の ISO 文字セット。
LANGUAGE は非常に寛大で、基本的には a-z, A-Z, 0-9, およびダッシュ (-) で構成されているものであれば何でも指定できます。
コンポーネントおよびメソッド
VERSION (setVersion())
FN (setFormattedName())
N (setName())
PHOTO (setPhoto())
BDAY (setBirthday())
ADR (addAddress())
LABEL (addLabel())
TEL (addTelephone())
EMAIL (addEmail())
MAILER (setMailer())
TZ (setTZ())
GEO (setGeo())
TITLE (setTitle())
ROLE (setRole())
LOGO (setLogo())
AGENT (setAgent())
ORG (addOrganization())
NOTE (setNote())
REV (setRevision())
SOUND (setSound())
URL (setURL())
KEY (setKey())
3.0
の仕様では、LF
(\n
) を改行に使用しています。
以下のコンポーネントとパラメータが使用可能です。
パラメータ
TYPE は 2.1 の任意の TYPE 値、あるいはその他 a-z, A-Z, 0-9, およびダッシュ (-) のみで構成されるものなら何でも指定できます。
ENCODING は 8BIT および B ("binary")。
VALUE は BINARY, PHONE-NUMBER, TEXT, URI, UTC-OFFSET, あるいは VCARD。
コンポーネントおよびメソッド
VERSION (setVersion())
FN (setFormattedName())
N (setName())
NAME (setSourceName())
SOURCE (setSource())
NICKNAME (addNickname())
PHOTO (setPhoto())
BDAY (setBirthday())
ADR (addAddress())
LABEL (addLabel())
TEL (addTelephone())
EMAIL (addEmail())
MAILER (setMailer())
TZ (setTZ())
GEO (setGeo())
TITLE (setTitle())
ROLE (setRole())
LOGO (setLogo())
AGENT (setAgent())
ORG (addOrganization())
CATEGORIES (addCategories())
NOTE (setNote())
PRODID (setProductID())
REV (setRevision())
SORT-STRING (setSortString())
SOUND (setSound())
UID (setUniqueID())
URL (setURL())
CLASS (setClass())
KEY (setKey())