Aller au contenu

Récupérer un bout de chaine de caractères


Sujets conseillés

Posté

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.

Posté

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.

Posté

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é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);      
 }
}

Posté

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:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...