Mammouth du PHP |
959 Messages
13 juil. 2008, 17:26
Voilà, j'ai réussi à affiché "Ligne censuré." quand il trouve le mot dans la ligne
$fichier = 'exemple2.txt';
$lines = file($fichier);
$fp = fopen ($fichier, "r+");
foreach ($lines as $line_num => $line) { // Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
$line = str_replace("bla", "bla bla", $line);
if(preg_match("/bla/i", $line)) {
$line = "Ligne censuré.";
}
echo "Line #<b>{$line_num}</b> : " . utf8_decode(htmlspecialchars($line)). "<br />\n";
fputs ($fp, $line);
}
fclose ($fp);
Pour la suppression totale de la ligne, je crois avoir une idée
Je test et je te dit
EDIT : Voilà, j'ai réussi à ne pas faire afficher la ligne complête mais le prob, c'est que ça fais sauté le compteur (line #01, line #02 etc...). mais bon, je ne pense pas que dans ton site, dois afficher Line ... bref, voilà le code :
$fichier = 'exemple2.txt';
$lines = file($fichier);
$fp = fopen ($fichier, "r+");
foreach ($lines as $line_num => $line) { // Affiche toutes les lignes du tableau comme code HTML, avec les numéros de ligne
$line = str_replace("bla", "bla bla", $line);
if(!preg_match("/bla/i", $line)) {
fputs ($fp, $line);
echo 'Line #<b>'.$line_num.'</b> : '. utf8_decode(htmlspecialchars($line)) .'<br />'."\n";
}
}
fclose ($fp);
Voilà 