Re: problème avec php

Page principale

Répondre à ce message
Auteur: Marc BERLIOUX
Date:  
À: guilde
Sujet: Re: problème avec php
Le 9 décembre 2019 09:18:37 GMT+01:00, "anne.guilde@???" <anne.guilde@???> a écrit :
>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


Il y a des fonctions comme 'addslashes' qui peuvent peut-être t'intéresser pour résoudre ce problème.


--
Marc BERLIOUX