loulou Posté 20 Octobre 2005 Posté 20 Octobre 2005 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 Posté 20 Octobre 2005 Posté 20 Octobre 2005 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 Posté 20 Octobre 2005 Posté 20 Octobre 2005 Salut, 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 : $ficin = fopen("toto.txt", "r"); // Ouverture du fichier a lire$ficout = fopen("titi.txt", "w"); // Creation d'un nouveau fichier filtré$trouve = false; // Booléenwhile (!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 Posté 20 Octobre 2005 Auteur Posté 20 Octobre 2005 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant