Problème d'URL avec symbole + en PHP

vib10666 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
samyb2313 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Nous récupérons des URL de pochettes de musique de manière automatique chez Amazon via un logiciel de diffusion radio. Ce dernier intègre dans les fiches artistes ce lien qui comprend malheureusement parfois un symbole + (en fait un espace).
Le problème c'est qu'ensuite nous reprenons ces informations pour les afficher sur nos players. Pour cela le logiciel crée un xml qui est ensuite parsé en PHP, ce qui pose un problème avec les liens qui comprennent un symbole + ou un espace. En résumé :
Dans notre fiche artiste sur le logiciel de diffusion radio nous avons ce lien (avec %2B) :
http://ecx.images-amazon.com/images/I/51rO%2Bs3-TvL.jpg

Sur notre fichier XML le lien devient (avec le symbole +):
http://ecx.images-amazon.com/images/I/51rO+s3-TvL.jpg

Et sur notre PHP le lien devient (avec un simple espace) :
http://ecx.images-amazon.com/images/I/51rO s3-TvL.jpg
et là il n'affiche plus rien.

Est-ce qu'il y a une solution pour l'encodage de cet espace. Sur un fichier HTML que nous sortons en parallèle il n'y a pas de soucis. Il semble que XML encode nécessairement les espaces par le symbole +. Est-ce qu'il faut agir sur le fichier php ?

Voilà le fichier XML en question : http://www.vibration108.ch/onair_chansonsfrancaises.xml

Et voilà le fichier PHP qui affiche les pochettes : http://www.vibration108.ch/titrage2016/vibrationchansonfr_onair_pochette.php

Un grand merci pour votre aide.
A voir également:

1 réponse

samyb2313 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   5
 
il faudrait peut etre faire un str_replace en php avant l'affichage.


str_replace('%2B',' ',$ma_chaine);
0
vib10666 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour la réponse. Ca n'a pas l'air de marcher... est-ce que c'était l'idée :

// si enclosure, on affiche.
if($enclosure=$item->get_enclosure(0)){

echo "<img src=\"", str_replace('%2B',' ',$enclosure);
echo $enclosure->get_link();
echo "\" border=\"0\" style=\"float:left\" width=\"250\" height=\"250\">";
}

}
0
samyb2313 Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   5
 
Oui c'est l'idée !, sauf qu'il faut vraiment mettre un espace !

echo "<img src=\"", str_replace('%2B',' ',$enclosure);
0