Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/08/2007, 16h59   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
Par défaut surligné des lignes

bonjour à tous

Le scripts que j'essaye de faire doit faire une sorte de "tail" en affichant les x dernieres lignes d'un fichier, et en affichant toutes les lignes contenant warning et critical


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<body>
 
 
<?php
 
$lines = file ('user.log');
//Le tableau dans lequel on va stocker les lignes qui nous interessent
 
$dernieres_lignes = array_slice($lines, -100); // Extrait les 100 derni?res lignes
$monTableauInverse = array_reverse ($dernieres_lignes, true);
 
 
foreach ($monTableauInverse as $line) {
 
if ( strpos( $line , 'arning' ) != 0 || strpos( $line , 'ritical' ) !=0 )
{
      echo $line. "<br>";
 
   }
}
 
?>
 
</body>
</html>
J'aimerais que dans l'affichage, le mot critical soit surligné en rouge, et le mot warning soit surligné en jaune.... Je ne sais pas du tout comment faire ça !!!
Merci pour votre aide.
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 17h06   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Pour surligner en html il faut utiliser ca:
Code :
<span style='background-color:gold;'>Surligner le texte</span>
Donc dans ton cas tu utilises un petit str_replace() qui va remplacer "Critical" par <span style='background-color:gold;'>Critical</span>

Si jamais Critical peut prendre un C majuscule ou pas tu as str_ireplace() qui est insensible a la casse.

EDIT: et tu fais ce remplacement dans le if de ton foreach pour l'appliquer a chaque ligne contenant critical ou warning
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 17h26   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
bonjour

super merci !
voici donc ce que j'ai fait:



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<body><?php
$lines = file ('local6.log');
$dernieres_lignes = array_slice($lines, -40);
$monTableauInverse = array_reverse ($dernieres_lignes, true);
foreach ($monTableauInverse as $line) {
if ( strpos( $line , arning ) != 0 || strpos( $line , ritical ) !=0 )
{
            $line2 = str_ireplace ("warning", "<span style='background-color:gold;'>", $line);
            $line3 = str_ireplace ("critical", "<span style='background-color:red;'>", $line2);
      echo $line3. "<br>";
}
}
 ?>
 </body></html>

Mais là j'ai le message :


Fatal error: Call to undefined function: str_ireplace()
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 17h35   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Effectivement, c'est une fonction disponible seulement en PHP5

Code :
1
2
$line2 = str_replace (array("warning", "Warning"), "<span style='background-color:gold;'>warning</span>", $line);
$line3 = str_replace (array("critical","Critical"), "<span style='background-color:red;'>critical</span>", $line2);
J'ai modifié l'erreur de remplacement aussi (il faut remplacer entièrement critical par tout le html (donc en remettant critical entre <span> et </span>)
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 17h40   #5
Invité régulier
 
Inscription : juillet 2007
Messages : 61
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 61
Points : 9
Points : 9
Merci beaucoup, ça fonctionne impeccable !
pascalbout1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h07.


 
 
 
 
Partenaires

Hébergement Web