Problème reconnaissance de délimiteur avec retour à la ligne

Résolu
boudafc Messages postés 48 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 18 juillet 2008 - 17 mars 2006 à 10:58
boudafc Messages postés 48 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 18 juillet 2008 - 17 mars 2006 à 12:04
Bonjour, voilà, j'ai un ptit pb avec ce script que je suis en train de faire,

Voilà en gros l'idée, j'ai dans un fichier du texte contenant des messages délimités par un délimiteur "$--$"

Cependant, je me suis apperçu qu'il ya avait un pb car li ne reconnait
pas du tout le délimiteur, et l'erreur vient du fait du retour à la
ligne dans le fichier texte. voici le code

---------------------------------------------

<?php

$delimiteur = "$--$"; // Délimiteur

$i = 1; // initialisation du compteur de message

$fp = fopen("forum.txt","r"); // ouverture du fichier en lecture seule

while (!(feof($fp))) {

$ligne = fgets($fp,255); //lecture ligne par ligne

if ($ligne == $delimiteur) { //si la ligne lue est égale à mon délimiteur

echo "Message $i
"; // j'affiche qu'il y a un message

$i++; // j'incrémente le compteur de message

}

}

fclose($fp);

?>

-------------------------------------------

Alors le truc c'est que je me suis dit que vu que le pb venait du
passage à la ligne, je devait déclarer mon délimiteur de la sorte:

$delimiteur = "$--$\n"; mais ça ne marche pas, ni avec \r ...



voici un exemple du fichier txt:

$--$

bla bla bla ...

bla bla bla ...

bla bla bla ...

$--$

bla bla bla ...

bla bla bla ...

bla bla bla ...





Merci pour votre aide !

2 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
17 mars 2006 à 11:31
essaie avec un trim

ligdel=trim($ligne);
if ($ligdel == $delimiteur)
...
3
boudafc Messages postés 48 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 18 juillet 2008
17 mars 2006 à 12:04
Merci bcp ! ça marche niquel !

Cependant, je ne comprend pas pourquoi celà ne marche pas quand je rajoute un "\n" à la fin de mon délimiteur !

Y aurait-il une fonction permettant de savoir quels sont les délimiteurs de fin de chaines ?



Parce que même si celà fonctionne bien, je suis quand même curieux !!



Merci encore !
0
Rejoignez-nous