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

Messages postés
15
Date d'inscription
lundi 30 mai 2005
Dernière intervention
13 juillet 2005
- - Dernière réponse : coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 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 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de coucou747
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Dernière intervention
16 février 2012
0
Merci
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
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
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
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
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
Messages postés
1162
Date d'inscription
mardi 9 septembre 2003
Dernière intervention
15 août 2009
0
Merci
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
Messages postés
15
Date d'inscription
lundi 30 mai 2005
Dernière intervention
13 juillet 2005
0
Merci
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
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
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
Messages postés
15
Date d'inscription
lundi 30 mai 2005
Dernière intervention
13 juillet 2005
0
Merci
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
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
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
Messages postés
15
Date d'inscription
lundi 30 mai 2005
Dernière intervention
13 juillet 2005
0
Merci
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.