Introduction

Introduction --  Build (create) and fetch vCard 2.1 and 3.0 text blocks.

Contact_Vcard_Build Description

Allows you to programmatically create a vCard, version 2.1 or 3.0, and fetch the vCard text.

Quick Instructions

Example 43-1. Example code:


<?php

    // include the class file
    require_once 'Contact/Vcard/Build.php';

    // instantiate a builder object
    // (defaults to version 3.0)
    $vcard = new Contact_Vcard_Build();

    // set a formatted name
    $vcard->setFormattedName('Bolivar Shagnasty');

    // set the structured name parts
    $vcard->setName('Shagnasty''Bolivar''Odysseus',
        'Mr.''III');

    // add a work email.  note that we add the value
    // first and the param after -- Contact_Vcard_Build
    // is smart enough to add the param in the correct
    // place.
    $vcard->addEmail('boshag@example.com');
    $vcard->addParam('TYPE''WORK');

    // add a home/preferred email
    $vcard->addEmail('bolivar@example.net');
    $vcard->addParam('TYPE''HOME');
    $vcard->addParam('TYPE''PREF');

    // add a work address
    $vcard->addAddress('POB 101''Suite 202''123 Main',
        'Beverly Hills''CA''90210''US');
    $vcard->addParam('TYPE''WORK');

    // get back the vCard and print it
    $text $vcard->fetch();
    echo '<pre>';
    print_r($text);
    echo '</pre>';
?>

Differences Between vCard 2.1 and vCard 3.0

The 2.1 specification uses CRLF to terminate lines (\r\n). It allows the following components and parameters:

The 3.0 specification uses LF to terminate lines (\n). It allows the following components and parameters: