Lecture de \n hasardeuse

Résolu
BlueSkyBalmung Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je vous embête pour un problème pour la lecture de \n dans une chaîne, en effet j'ai l'impression que lorsque que je fais une lecture de mes caractères 1 par 1 dans une chaine
$text, je n'ai aucun moyen de récuperer un caractère \n puisque je test pour les besoins de mon programme chacun des caractères d'une chaine et je fais une action si je tombe sur celui-ci, malheureusement je n'en détecte aucun alors que ma chaîne en comporte plusieurs .
j'écris quelque chose dans le genre

if($text[$i]=='\n'){
//action
}

autant que je sache il n'apparait pas sur 2 caractères ?
j'ai essayé de remplacer les ' ' par des " " mais rien ne change, si vous avez une idée, et je suis sur que le $i est incrémenté


A voir également:

2 réponses

Momop72
 
Tu as essayé avec deux antislash ?
if($text[$i]!='\\n'){
Antislash est un caractère spécial en PHP, je ne crois pas que tu puisses l'utiliser comme ça.
1
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Essaye ceci pour faire tes tests :
echo '<pre>';
var_dump('\n'); // correspond à la chaine \n
var_dump("\n"); // correspond à un saut de ligne

var_dump(ord("\n"));
var_dump(ord($text[$i]));
echo '</pre>';


Attention si ta chaine de caractères est encodée en utf-8, les accents et caractères non ascii sont stockés sur 2 octets (d'où l'intérêt des fonctions multi bytes mb_*). Exemple :
var_dump(strlen('é')); // affiche 2 en utf-8
var_dump(mb_strlen('é')); // affiche 1 en utf-8


Bonne journée
0