Problème PHP
J-L03
-
J-L03 -
J-L03 -
Bonjour,
voilà mon problème:
j'ai un fichier host à partir duquel je récupère toutes les lignes qu'il contient et je stocke le tout dans un tableau PHP. Cependant, certaines lignes sont "vides" (après différents tests j'ai remarqué qu'elle contenait en fait le code ASCII 13 qui correspond au CR). Je veux donc faire un test de telle sorte à trouver chaque ligne vide.
J'utilise donc le code suivant:
for ($index=0; $index<$sizeof_tablignes; $index++)
{
if ($tab_lignes[$index] == chr(13))
{
echo "true pour la ligne ".$index." ce qui correspond à ".$tab_lignes[$index]."<br />";
}
else
{
echo "false pour la ligne ".$index." ce qui correspond à ".$tab_lignes[$index]."<br />";
}
//echo $index."<br />";
}
J'ai essayé de faire un test sur '\r', sur chr(13), sur une variable dans laquelle je mettais le code chr(13) mais rien y fait.
Est-ce que quelqu'un aurait une idée svp?
Merci.
voilà mon problème:
j'ai un fichier host à partir duquel je récupère toutes les lignes qu'il contient et je stocke le tout dans un tableau PHP. Cependant, certaines lignes sont "vides" (après différents tests j'ai remarqué qu'elle contenait en fait le code ASCII 13 qui correspond au CR). Je veux donc faire un test de telle sorte à trouver chaque ligne vide.
J'utilise donc le code suivant:
for ($index=0; $index<$sizeof_tablignes; $index++)
{
if ($tab_lignes[$index] == chr(13))
{
echo "true pour la ligne ".$index." ce qui correspond à ".$tab_lignes[$index]."<br />";
}
else
{
echo "false pour la ligne ".$index." ce qui correspond à ".$tab_lignes[$index]."<br />";
}
//echo $index."<br />";
}
J'ai essayé de faire un test sur '\r', sur chr(13), sur une variable dans laquelle je mettais le code chr(13) mais rien y fait.
Est-ce que quelqu'un aurait une idée svp?
Merci.
A voir également:
- Problème PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
4 réponses
Je suppose que tu obtiens ton tableau par la fonction explode de php :
si tu le fais par : explode("\n", $donnee_lue); alors
fais plutot : explode("\n\r", $donne_lue);
Les lignes vides seront vraiment vides.
par précaution il faudra tester trim($tab_lignes[$index])
au cas ou un ou des espaces traineraient !!!
si tu le fais par : explode("\n", $donnee_lue); alors
fais plutot : explode("\n\r", $donne_lue);
Les lignes vides seront vraiment vides.
par précaution il faudra tester trim($tab_lignes[$index])
au cas ou un ou des espaces traineraient !!!
Bonjour,
Je ne sais pas si ça t'aidera, mais pour ce qui est de tester le début d'une ligne pour le traitement d'un fichier, dans l'un des mes sites j'avais tout simplement fais des tests comme suit:
Tu peux appliquer ça à n'importe quel caractère susceptible d'être un saut de ligne ('\n', '\r', etc.)
Je ne sais pas si ça t'aidera, mais pour ce qui est de tester le début d'une ligne pour le traitement d'un fichier, dans l'un des mes sites j'avais tout simplement fais des tests comme suit:
<?php
...
function startswith($hay, $needle) {
return $needle === $hay or strpos($hay, $needle) === 0;
}
function endswith($hay, $needle) {
return $needle === $hay or strpos(strrev($hay), strrev($needle)) === 0;
}
...
$line = "... juste un exemple, code non testé ...";
if ( startwith($line,'\n') ){
echo "saut de ligne en début de ligne";
}
Tu peux appliquer ça à n'importe quel caractère susceptible d'être un saut de ligne ('\n', '\r', etc.)