Bonjour a tous,
J'ai un petit probleme avec la fonction substr_replace.
Dans la fonction addSpace que vous pourrez voir ci-dessous, je ne parviens pas à rajouter un espace entre deux ";". Pour etre plus explicite, voici un exemple de chaine de caractere que je traite:
;;98 Crater Drive;Denver;CO;80301
il s'agit d'une adresse stockée dans une vcard, les ";" indiquent un nouveau champ d'adresse (;adresse;complement;ville;Etat;code postal)
je desire stocker chaque champ dans un tableau, je le fais donc avec explode mais le souci est que les champs vides (comme le ;; du debut de la chaine) ne seront pas pris en compte et je décide donc de rajouter un espace (ou un caractère spécial) entre ces deux ";"
Code PHP :
function addSpace($str){
//print_r($str);
for ($i=0;$i<count($str); $i++){
//echo'<br>'.$str[$i].'<br>';
print_r($str[$i]);
if (($str[$i] == ";")&&($str[$i+1] == ';')){
print_r($str[$i]);
//echo'<br>'.$str[$i].'<br>';
$newstr = substr_replace($str,' ',$i);
}
}
return $newstr;
}
Mais cela ne marche pas et seuls les deux premiers caracteres (ici: ;;) de la chaine sont renvoyes.
Mon test conditionnel doit etre faux mais je ne vois pour le moment pas d'autre alternative. :(
Quelqu'un aurait-il une suggestion qui pourrait m'éclairer?
Merci pour vos réponses ^^