récupérer data *.txt pour utiliser avec expression régulière

Eléphant du PHP | 135 Messages

01 sept. 2006, 14:12

Voilà j'ai un petit fichier text dans lequel il y a des données simples

exemple

Code : Tout sélectionner

1été (1er Avril au 30 septembre) Lundi 9h à 12h et 14h30 à 17h30 Mercredi 14h à 17h Samedi 9h à 12h et 14h30 à 17h30 2hiver (1er octobre au 31 mars) Lundi 9h à 12h et 14h à 17h Mercredi 14h30 à 17h30 Samedi 9h à 12h et 14h à 17h
Il faut que je récupère les données et les afficher dans une page. (bien sure)

Je suis une bille en php, mais j'ai déjà ça
<?php
$list ='horaire.txt';
$tabe= file($list,'r');
$rech=ereg ('^(1|2)',$tabe);
   echo $rech." pis voilà";
?>
(mais ça marche pas bien sure, sinon je serais pas là)

Alors le but de tout ça c'est de pourvoir piocher dans le .txt des chaines de caractères pour les afficher avec un style de caractère, que je ferais après dans le code.

par exemple les deux ligne contenant au début les chiffre 1 et2 dans un certain style, les jours dans un autre style et les horaires dans un autre style.

je sais que je suis pas arrivé au bout mais là je souhaiterais déjà que les données du fichier texte soient exploitable avec les expressions régulières.

si quelqu'un pouvais m'orienter.
Merci d'avance.

David.
Des noeuds au cerveau!

Eléphant du PHP | 135 Messages

01 sept. 2006, 16:01

EDIT
Bon j'ai trouvé un petit code mais j'ai un problème avec les expression régulière qui utilise bien le texte généré par explode mais le symbole d'occurence "^" dans l'expression ereg ne me donne pas les ligne commençant par un "L". (L comme Lundi :) )
Je me trompe de symbole ou je suis completement débile (attention aux réponses!)
$list ='horaire.txt';
  $fp=fopen($list,"r") or die("Error found.");
    $line = fread( $fp,filesize ($list));
$pieces = explode("_", $line);
$num= count($pieces);
for ($Anum=0;$Anum<$num;$Anum++){
if (ereg ("^L", $pieces[$Anum])){
echo '<br><b class="tete1">'.$pieces[$Anum]."</b><br>";
}

}

  fclose($fp);
Des noeuds au cerveau!

Mammouth du PHP | 684 Messages

01 sept. 2006, 18:52

Salut.
Fait ceci :
<?php
$list = 'horaire.txt'; 
$fp = fopen($list,"r") or die("Error found."); 
$line = fread( $fp,filesize ($list)); 
$pieces = explode("_", $line); //Pourquoi le "_" C'est pas des espaces que tu as ?
$num = count($pieces); 
for ($Anum = 0; $Anum < $num; $Anum++) {//Plus lisible
    echo '<pre>'; print_r($pieces[$Anum]); echo '</pre>';
    if (ereg ("^L", $pieces[$Anum])) { 
         echo '<br><b class="tete1">'.$pieces[$Anum]."</b><br>"; 
    }
} 
fclose($fp); 
Tu vera mieux sur quoi tu fais ta regex.
Zigz4g

Invité
Invité n'ayant pas de compte PHPfrance

01 sept. 2006, 20:26

Merci zigz4g,

Le "_" je l'ai enlevé et je l'ai remplacé par "/n", mais le gros souci maintenant c'est que le symbole d'occurence "^" ne marche pas il ne me prends pas les début de ligne. et j'aimerais bien savoir pourquoi.
Par contre le symbole "$" me prends bien les fins de ligne. c'est bizarre!

C'est dur la vie

David.