Re: problème avec php

Top Page

Reply to this message
Author: anne.guilde@free.fr
Date:  
To: guilde
Subject: Re: problème avec php
Le 09/12/2019 à 04:18, anne.guilde@??? a écrit :
> Le 08/12/2019 à 14:01, Jérôme Villafruela a écrit :
>> Le 08/12/2019 à 03:26, anne.guilde@??? a écrit :
>>>
>>> Cela fonctionne. Je me suis débrouillée avec open_basedir et le
>>> répertoire /tmp
>>>


suite

J'ai récupéré un fichier vcard avec nextcloud

VCARD
--------
BEGIN:VCARD

VERSION:3.0
...
TEL;TYPE="HOME,VOICE":12345678

TEL;TYPE="WORK,VOICE":87654321

TEL;TYPE=CELL:12378456
...
END:VCARD
BEGIN:VCARD

VERSION:3.0
...
TEL;TYPE=home:+33 3 12 34 56 78
TEL;TYPE=cell,PREF:+33 6 12 34 56 78
TEL;TYPE=work:+33 6 12 34 56 78
...
END:VCARD
--------

Dans un script pour transformer des vcard en csv, j'ai une fonction pour
récupérer les numéros de téléphone

    function parse_tel(&$node, &$vcard)
    {
        foreach($node as $tel)
        {
            if (in_array_nc("PAGER", $tel['param']['TYPE']))
                $vcard->pager = $tel['value'][0][0];
            else if (in_array_nc("CELL", $tel['param']['TYPE']))
                $vcard->mobile = $tel['value'][0][0];
            else if (in_array_nc("FAX", $tel['param']['TYPE']))
                $vcard->fax = $tel['value'][0][0];
            else if (in_array_nc("HOME", $tel['param']['TYPE']) || 
in_array_nc("PREF", $tel['param']['TYPE']))
            {
                if (in_array_nc("FAX", $tel['param']['TYPE']))
                    $vcard->home['fax'] = $tel['value'][0][0];
                else
                    $vcard->home['phone'] = $tel['value'][0][0];
            }
            else if (in_array_nc("WORK", $tel['param']['TYPE']))
            {
                if(in_array_nc("FAX", $tel['param']['TYPE']))
                    $vcard->work['fax'] = $tel['value'][0][0];
                else
                    $vcard->work['phone'] = $tel['value'][0][0];
            }
        }
    }


Quand j'ai cela dans la vcard
TEL;TYPE=home:+33 3 12 34 56 78

TEL;TYPE=cell,PREF:+33 6 12 34 56 78
TEL;TYPE=work:+33 6 12 34 56 78
C'est ok

Quand j'ai cela dans la vcard
TEL;TYPE="HOME,VOICE":12345678
TEL;TYPE="WORK,VOICE":87654321
TEL;TYPE=CELL:12378456
Je ne récupère que TEL;TYPE=CELL:12378456 dans le csv

Je pense que c'est à cause des "

Si vous avez la solution

Merci
Anne