HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - vcards importieren exportieren

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

vcards importieren exportieren

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 08.08.2006 09:17:13    Titel: vcards importieren exportieren Antworten mit Zitat

Hallo Freunde,

wo finde ich eine Spec zu vcards? Morgen mein Forumskalender mit dieser Funktion beglücken.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 08.08.2006 11:21:24    Titel: Antworten mit Zitat

http://www.ietf.org/rfc/rfc2426.txt

ich hab da mal was vorbereitet: Wink

Code:

function vcard2array($t)
{
 $t = str_replace("\r",'',$t);
 $t = explode("\n",$t);
 $res = array();
$res['strName'] = '';
$res['strVorname'] = '';
$res['strVorname2'] = '';
$res['strTitel'] = '';
$res['strNickname'] = '';
$res['strTelefon'] = '';
$res['strHandy'] = '';
$res['strFax'] = '';
$res['strAnschrift'] = '';
$res['strPLZ'] = '';
$res['strOrt'] = '';
$res['strBundesland'] = '';
$res['strLand'] = '';
$res['strGeschlecht'] = '';
$res['strURL'] = '';
$res['daGeburtstag'] = '';
$res['daJahrestag'] = '';
$res['strFirma'] = '';
$res['strFirmaAbteilung'] = '';
$res['strFirmaPosition'] = '';
$res['strFirmaTelefon'] = '';
$res['strFirmaFax'] = '';
$res['strFirmaPager'] = '';
$res['strFirmaAnschrift'] = '';
$res['strFirmaPLZ'] = '';
$res['strFirmaOrt'] = '';
$res['strFirmaBundesland'] = '';
$res['strFirmaLand'] = '';
$res['strFirmaURL'] = '';
$res['strMail'] = '';
$res['strMail2'] = '';
$res['strMail3'] = '';
 for($i=0;$i<count($t);$i++)
 {
  $l = trim($t[$i]);
  if($l == ''){continue;}
  $pd = strlen($l); if(substr_count($l,':')>0){$pd = strpos($l,':');}
  $bez = substr($l,0,$pd);
  $l = substr($l,strlen($bez)+1);
  $isenc = false;
  if(substr_count($bez,';ENCODING=QUOTED-PRINTABLE'))
  {
   while(substr($l,strlen($l)-1,1) == '=')
   {
    $l = substr($l,0,strlen($l)-1);
    $i++;
    if($i>=count($t)){break;}
    $l .= trim($t[$i]);
   }
   $bez = str_replace(';ENCODING=QUOTED-PRINTABLE','',$bez);
   $isenc = true;
  }
  $f = explode(";",$l);
  if(count($f)<7){$f[] = '';$f[] = '';$f[] = '';$f[] = '';$f[] = '';$f[] = '';}
  if($isenc){for($j=0;$j<count($f);$j++){$f[$j] = quoted_printable_decode($f[$j]);}}
  switch($bez)
  {
   case 'N' : {$res['strName'] = $f[0];$res['strVorname'] = $f[1];$res['strVorname2'] = $f[3];$res['strTitel'] = $f[4];} break;
   case 'NICKNAME' : {$res['strNickname'] = $f[0];} break;
   case 'ORG' : {$res['strFirma'] = $f[0];$res['strFirmaAbteilung'] = $f[1];} break;
   case 'TITLE' : {$res['strFirmaPosition'] = $f[0];} break;
   case 'TEL;WORK;VOICE' : {$res['strFirmaTelefon'] = $f[0];} break;
   case 'TEL;HOME;VOICE' : {$res['strTelefon'] = $f[0];} break;
   case 'TEL;CELL;VOICE' : {$res['strHandy'] = $f[0];} break;
   case 'TEL;PAGER;VOICE' : {$res['strFirmaPager'] = $f[0];} break;
   case 'TEL;WORK;FAX' : {$res['strFirmaFax'] = $f[0];} break;
   case 'TEL;HOME;FAX' : {$res['strFax'] = $f[0];} break;
   case 'ADR;WORK' : {$res['strFirmaAnschrift'] = $f[2];$res['strFirmaOrt'] = $f[3];$res['strFirmaBundesland'] = $f[4];$res['strFirmaPLZ'] = $f[5];$res['strFirmaLand'] = $f[6];} break;
   //case 'LABEL;WORK' : {$res['str'] = $f[0];} break;
   case 'ADR;HOME' : {$res['strAnschrift'] = $f[2];$res['strOrt'] = $f[3];$res['strBundesland'] = $f[4];$res['strPLZ'] = $f[5];$res['strLand'] = $f[6];} break;
   //case 'LABEL;HOME' : {$res['str'] = $f[0];} break;
   case 'URL;HOME' : {$res['strURL'] = $f[0];} break;
   case 'URL;WORK' : {$res['strFirmaURL'] = $f[0];} break;
   case 'BDAY' : {$res['daGeburtstag'] = substr($f[0],0,4).'-'.substr($f[0],4,2).'-'.substr($f[0],6,2);} break;
   case 'EMAIL;PREF;INTERNET' : {$res['strMail'] = $f[0];} break;
   case 'EMAIL;INTERNET' :
   {
    if($res['strMail2'] != '' && $res['strMail3'] == ''){$res['strMail3'] = $f[0];}
    else if($res['strMail2'] == ''){$res['strMail2'] = $f[0];}
   } break;
   case 'X-WAB-GENDER' :
   {
    if($f[0] == '2'){$res['strGeschlecht'] = 'm';}
    else if($f[0] == '1'){$res['strGeschlecht'] = 'w';}
    else{$res['strGeschlecht'] = '-';}
   } break;
  }
 }
 return $res;
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 10.08.2006 14:57:27    Titel: Antworten mit Zitat

Das ist einfach *räusper* und anders herum? ^^ Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.