Version complète: sur le forum Webmaster Hub : Récupérer un bout de chaine de caractères
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
loulou
Bonjour à tous,

J'ai un problème d'extraction de texte avec une expression régulière.
Je m'explique :

J'ai un doc.txt qui commence par des lignes que je ne veux pas garder.
Le point à partir duquel je veux garder le reste correspond à une balise "<item>" qui est repétée une multitude de fois dans mon texte.

Donc ce que je voudrais faire c'est : supprimer tous le texte qui se trouve avant la première occurence de ma balise "<item>".

J'avais bien pensé à un "explode", mais vu que j'ai x fois ma balise <item>, je vais me retrouver avec un sacré tableau...

Quelqu'un aurait il une petite piste pour démarrer mon bout de code ?
merci par avance.
minirop
salut,

si tu peux tenter :
$var=explode('<item>',$file);
unset($var[0]); ou $var[0]=='';
$file=implode('<item>',$var);

$file='<item>'.$file;

je pense que çà ira.
NorSeb
Salut,

CITATION(loulou @ jeudi 20 octobre 2005, 12h16)
J'ai un doc.txt qui commence par des lignes que je ne veux pas garder.


Si tu lis ton fichier ligne par ligne tu peux partir sur un truc du genre :
CODE
$ficin = fopen("toto.txt", "r"); // Ouverture du fichier a lire
$ficout = fopen("titi.txt", "w"); // Creation d'un nouveau fichier filtré

$trouve = false; // Booléen

while (!feof($ficin)) {

 $ligne = fgets($ficin, 1024); // Tu lis une ligne
 
 if (ereg("<item>", $ligne) {   // Si tut trouve item

  $trouve = true;
 }

 // Si tu as trouvé alors tu peux garder ce que tu veux
 if ($trouve) {

     fwrite($ficout, $ligne);      
 }
}
loulou
Merci à vous deux !

Minirop, j'ai testé ta solution et ça marche, un grand merci à toi.

NorSeb, Je suis en train de tester ta solution, et elle me parait interessante pour un autre problème que je rencontre, alors c'est génial !, je vous tiens au courant ,
Merci, merci merci

thumbup.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.