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