【问题标题】:read vcf (vcard) labels and values读取 vcf (vcard) 标签和值
【发布时间】:2011-08-03 05:05:33
【问题描述】:

我正在尝试读取 vcf,我已经获取了值,但无法检索类型和前缀。 请看以下代码

<?php
require_once( 'Contact_Vcard_Parse.php' );
if ( $_FILES['file']['tmp_name'] )
{
  $parse = new Contact_Vcard_Parse();
  $cardinfo = $parse->fromFile( $_FILES['file']['tmp_name'] );
  foreach( $cardinfo as $card )
  {
    $first = $card['N'][0]['value'][0][0];
    $last = $card['N'][0]['value'][1][0];
    $email = $card['EMAIL'][0]['value'][0][0];
    $telcount=0;
    while($telcount<50)
    {       
      $teltitle = $card['TEL'][$telcount]['node'][0][0];
      $tel = $card['TEL'][$telcount]['value'][0][0];
      if(strlen($tel)>=10) 
      { 
        echo 'title : '.$teltitle.'&nbsp;&nbsp;TEL : '.$tel.'<br>'; 
      }
      $telcount++; 
    } 
?>
    email : <?php echo( $email ); ?>
    <br>n : <?php echo( $first ); ?> <br>fn : <?php echo( $last ); ?> <br>
<?php 
  } 
} 
?> 

【问题讨论】:

标签: php pear vcf-vcard


【解决方案1】:

https://github.com/nuovo/vCard-parser

一年前我是这个 vCard 解析器。它的工作就像一个魅力。您可以在代码中使用此库。

PS:不要重新发明轮子.. :)

【讨论】:

  • 谢谢你 solai,我试试这个。
  • 我认为问题的所有者多年来不活跃哈哈
  • 是的,我忘记了这个线程。感谢大家投入时间。
  • :) 好问题 robin.. VCF 正在死去
【解决方案2】:

如果您不想使用任何库:

$VArquivoApple = fopen("./contactsapple.vcf", 'r');
$VArrayApple = [];
while (($VLinha = fgetcsv($VArquivoApple)) !== false)
    $VArrayApple[] = $VLinha[0];
fclose($VArquivoApple);

$VAContatosApple = [];

for ($Vi = 0; $Vi < count($VArrayApple); $Vi++) {
    if ($VArrayApple[$Vi] == "BEGIN:VCARD")
        $VContatoApple = new stdClass();
    if ($VArrayApple[$Vi] != "BEGIN:VCARD" && $VArrayApple[$Vi] != "VERSION:3.0") {
        if ($VArrayApple[$Vi] != "END:VCARD") {
            $VAtributo = isset(explode(":", $VArrayApple[$Vi])[0]) ? explode(":", $VArrayApple[$Vi])[0] : "";
            $VValor = isset(explode(":", $VArrayApple[$Vi])[1]) ? explode(":", $VArrayApple[$Vi])[1] : "";
            $VContatoApple->{$VAtributo} = $VValor;
        } else
            $VAContatosApple[] = $VContatoApple;
    }
}

foreach ($VAContatosApple as $value) {
    var_dump($value);
}

【讨论】:

  • 像魅力一样工作!
猜你喜欢
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多