[php] Supprimer d'une sous chaine à une autre

Fermé
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 oct. 2004 à 19:50
 mycha - 15 mars 2008 à 10:23
Bonjour,

J'ai un problème. Imaginons que j'ai devant moi un texte criblé de balises html. J'aimerais en retirer uniquement le texte brut.

Connaissez vous une fonction qui permet, dans une chaine, de supprimer une sous chaine contenue entre un caractère et un autre. Par exemple imaginons:

$chaine="O fière voûte celeste! Que mire-je? Sont-ce des <b>salsifis</b> qui scintillent  ainsi par delà les <i>cieux</i>?";


Et là j'aimerais zapper les balises
<b>
et
<i>
grâce à une fonction qui pourrait par exemple supprimer toute partie commençant par < et se terminant par >.

Voilà, merci d'avance.



Kilian, débutant en tâche de fond.....
A voir également:

8 réponses

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
16 oct. 2004 à 20:57
regardes du coté des expressions réguliéres, tu ne récupéreras q ce qui t'interresse. J'ai oublié les noms des fcts.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 oct. 2004 à 21:48
Ah oui, je connaissais pas ces trucs là tiens....
Bon là j'ai mal à la tête à force de regarder les expressions régulières, j'irais revoir ça plus tard.

Merci en tout cas :-)

Kilian, débutant en tâche de fond.....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 oct. 2004 à 22:44
J'ai trouvé un fonction toute faite pour ce que je veux faire: strip_tags():
http://php.planetmirror.com/manual/fr/function.strip-tags.php

Mais je vais de toutes façon avoir besoin des expressions regulières très bientôt :-)

Kilian, débutant en tâche de fond.....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
22 nov. 2004 à 09:38
Rebonjour,

Pour m'entrainer aux expressions régulières, j'essaie de construire un "ereg_replace()"qui jouerait le même rôle que strip_tags(), c'est à dire supprimer les balises html dans un texte, mais ça n'affiche rien à l'écran. Voici mon code:

<?
$source_html="n'importe quelle source";

$expression="(<{1,1})(([[:print:]]|[[:space:]])*)(>{1,1})";

echo ereg_replace($expression,"",$source_html);

?>


Voilà, voilà. Merci d'avance....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
22 nov. 2004 à 10:37
Je suis pas sur mais essaye une expression comme ca:

$expression="<[^>]*>";
0
Salut,

Ben ça marche... Mais j'ai pas bien compris ton système:
=>on autorise la balise "<" puis on interdit tous les ">" et enfin la chaine doit se terminer par ">".....

Je pensais qu'avec un truc de ce genre, toute la chaine serait zappée de la première balise ouverte à la dernière balise fermée...
J'ai encore du mal avec les expression régulières.

Merci beaucoup GallyNet...
0
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 386
22 nov. 2004 à 12:55
Et ben en fait tu peut dire que la chaine que tu recherche peut être divisé ainsi:

commence par un '<'
finit par un '>'
et au milieu tu as tout le texte que tu veut sauf '>'

ce qui donne l'expression régulière que je t'ai donné. :-)
Personnelement, ce doit être la seul chose que j'ai compris sur les expression régulière.

D'ailleur il existe un générateur d'expression régulière. Je connais pas son nom mais je l'utilise (sous KDE) quand je fait une recherche d'un fichier par rapport à son contenu.
0
bonjour,
j'ai essayé cette expression reguliere mais comme d'autres que j'ai faites ou des fonctions que j'ai utilisees, elles ne semblent pas toucher les balises images car celles-ci s'affichent malgre tout. D'où cela peut-il venir ?
0
Oki, ça doit être utile le générateur mais je préfère apprendre à le faire tout seul.
Merci pour l'astuce et l'explication ;-)
0