Extraire une chaine de caractère comprise entre 2 balises [Résolu]

Bountard 15 Messages postés lundi 30 mai 2005Date d'inscription 13 juillet 2005 Dernière intervention - 5 juil. 2005 à 14:53 - Dernière réponse : coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention
- 5 juil. 2005 à 17:55
Salut à tous,

j'aimerais pouvoir extraire la chaine de caractère comprise entre 2 balises, type et par exemple.

Je ne vois pas comment faire merci pour votre aide.
Afficher la suite 

10 réponses

Répondre au sujet
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 5 juil. 2005 à 17:55
+3
Utile
preg_match_all("/(<ol>)(.*)(<\/ol>)/", $html, $matches, PREG_SET_ORDER);


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de coucou747
morpheus262 461 Messages postés mardi 27 avril 2004Date d'inscription 16 février 2012 Dernière intervention - 5 juil. 2005 à 15:19
0
Utile
Salut,

j ai une solution (qui n est surement pas la meilleur)

$tab[]=explode("",$tachaine);
et dans $tab[1] tu as ta chaine sans la balise de debut.
$tab2[]=explode("",$tab[1] );
et la dans $tab2[0] tu devrait avoir ta chaine sans les balises.
une solution mais encore une fois il doit exister mieux


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Commenter la réponse de morpheus262
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 5 juil. 2005 à 15:26
0
Utile
ton fichier est sous quel format ?

html ? xml ?



t'as tidy qui parse le html et t'as aussi un parseur xml en php

cherches sur php.net



sinon, t'as les exopressions régulières...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 5 juil. 2005 à 15:27
0
Utile
Hello,



plus simple en utilisant strpos () a mon avis.

Sinon une source vient d'etre postee pour ca, je ne l'ai pas testee
mais elle n'est pas tres compliquee donc devrait fonctionner :

http://www.phpcs.com/code.aspx?ID=32482
Commenter la réponse de malalam
malik7934 1162 Messages postés mardi 9 septembre 2003Date d'inscription 15 août 2009 Dernière intervention - 5 juil. 2005 à 15:31
0
Utile
un chti exple:
<?php
$chaine= " Hello World , comment ca va?";
$chaine2 =ereg_replace('<([^>])*>',' ',$chaine);
echo $chaine2; // donne: Hello World, comment ca va
?>
Commenter la réponse de malik7934
Bountard 15 Messages postés lundi 30 mai 2005Date d'inscription 13 juillet 2005 Dernière intervention - 5 juil. 2005 à 15:34
0
Utile
en fait j'utilise ce petit programme : www.fckeditor.net, qui permet
d'editer un texte dans une page html, c'est du même type qu'ici sur les
forums.

Celui-ci produit un code, entre balise, que je transforme en Rtf par la suite.

Dans celui ci j'ai par exemple les balises :

<ol>

<li> un texte </li>

</ol>



et





<li> un autre texte </li>





Je voudrais extraire dans $valeur le contenu <li>un texte</li>



Merci d'avance.
Commenter la réponse de Bountard
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 5 juil. 2005 à 15:38
0
Utile
tidy ou les expressions régulières comme je l'ai dit plus haut ou comme l'a dit :[auteurdetail.aspx?ID=162205 malik7934] (l'exemple de malik est tiré de php.net, t'aurais pu trouver le même...)

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Bountard 15 Messages postés lundi 30 mai 2005Date d'inscription 13 juillet 2005 Dernière intervention - 5 juil. 2005 à 16:02
0
Utile
En effet quand une seul balise existe j'y arrive avec cette méthode,
par contre se pose un problème quand j'ai plusieurs fois les mêmes
balises, que faire a ce moment la ?

utiliser List() serait une solution, mais cela veut dire que je connais le nombre d'élements,hors je ne le connais pas.

Merci beaucoup.
Commenter la réponse de Bountard
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 5 juil. 2005 à 16:06
0
Utile
renseigne toi sur



preg_match_all

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Bountard 15 Messages postés lundi 30 mai 2005Date d'inscription 13 juillet 2005 Dernière intervention - 5 juil. 2005 à 16:53
0
Utile
Voila ou j'en suis, merci pour le preg_match_all c'est apperement ce qu'il me fallait.

Cependant je ne comprends pas tout a fait les exemples :



$html = '<ol> <li> un </li> <li> deux </li> </ol>';

preg_match_all("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, $matches, PREG_SET_ORDER);



Voila par exemple un petit code que j'ai modifier légerement. J'ai lu
la description des ( [ * ... mais je ne comprends pas trop ce qui se
passe ici.

J'aimerais que preg_match_all prenne que ce qui est compris entre <ol> et </ol>.

Un peu d'aide serait la bienvenue, merci d'avance.
Commenter la réponse de Bountard

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.