Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2007, 19h56   #1
Invité régulier
 
Inscription : juillet 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 26
Points : 9
Points : 9
Par défaut L'expression correcte

pour une chaine = "<html>aaa</html>bbb"

si on veu extraire les tags html voici l'expression réguliaire qui va recuperer tout les tags : (<.*?>) , ce qui donne : <html></html>

moi j'aimerai bien avoir le contraire , je veu pas extraire les tags mais extraire ce qui est entre les tags
dans mon exemple le resultat doit etre : aaa bbb
UN|X` est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 20h39   #2
Rédacteur
 
Avatar de Davidbrcz
 
Homme
1A Supaéro
Inscription : juin 2006
Messages : 2 089
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 20

Informations professionnelles :
Activité : 1A Supaéro

Informations forums :
Inscription : juin 2006
Messages : 2 089
Points : 2 799
Points : 2 799
Envoyer un message via MSN à Davidbrcz
Si tu peux modifier ta chaine ,tu en extrais les tags , tu suprime les tag extrais de ta chaine et tu as ton résultat
__________________
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)

Mes articles dont Conseils divers sur le C++
Une très bonne doc sur la STL (en) Why linux is better (fr)
Davidbrcz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 08h56   #3
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
Ce n'est pas un problème HTML, merci donc de te diriger vers le langage que tu utilisent pour les expressions régulières.
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 11h01   #4
Invité régulier
 
Inscription : juillet 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 26
Points : 9
Points : 9
le sujet à été deplacé ici par un admin

en tout cas peu importe le langage utilisé , une fois j'ai la bonne expression je peu l'utilise avec n'importe kel langage ,

pour la premiere reponse , oui je peu extraire les tags et par la suite parcourir la chaine pour les enlever , mais moi j'ai besoin de connaitre l'expression inverse , (c'est purement educatif)
UN|X` est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 11h49   #5
Membre Expert
 
Avatar de InOCamlWeTrust
 
Inscription : septembre 2006
Messages : 1 036
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 1 036
Points : 1 129
Points : 1 129
Tu ne pourras pas le faire avec un expression rationnelle simple ; il faudrait que tu construises un automate puis que tu passes à l'expression rationnelle associée, étant donné que tu dois effectuer des différences.
InOCamlWeTrust est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 12h19   #6
Modérateur
 
Avatar de blueice
 
Inscription : mars 2003
Messages : 3 422
Détails du profil
Informations personnelles :
Âge : 37
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mars 2003
Messages : 3 422
Points : 4 110
Points : 4 110
Envoyer un message via ICQ à blueice Envoyer un message via MSN à blueice Envoyer un message via Skype™ à blueice
Bien sûr que c'est faisable et le sujet n'a rien à faire dans la section HTML, je le répète !
Maintenant c'est tout à fait faisable avec des expressions régulières, il suffit de rechercher le pattern correspondant et de prendre ce qui se trouve à l'intérieur...
http://php.developpez.com/cours/#langage-regexes
__________________
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
Pensez également à cocher

Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

Dimension Internet - Carnet Web
Imprimerie Nice
blueice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 12h53   #7
Modératrice
 
Avatar de Candygirl
 
Femme
Inscription : juillet 2006
Messages : 1 534
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : juillet 2006
Messages : 1 534
Points : 1 875
Points : 1 875
Perso je ferais un truc du genre:
en récupérant l'occurence entre parenthèses par le $1. Mais je suis loin d'être spécialiste en regexp...

Comme l'a relevé Blueice, ton poste redirigé sur ce forum est une erreur. Tu devrais être redirigé sur un forum de programmation surlequel les regexp sont utilisées. Tu auras plus de réponses là-bas.

Tu souhaites traiter côté php, javascript,...? On peut redéplacer ton message sur le forum correspondant..
__________________
Les bons réflexes:
  • avant de poser une question:
    règles | faq | tutoriels | recherche
  • clarté, politesse, vocabulaire et orthographe soignés = efficacité
  • remercier ceux qui ont pris le temps d'aider et si c'est le cas
Candygirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 14h35   #8
Invité régulier
 
Inscription : juillet 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 26
Points : 9
Points : 9
Citation:
Envoyé par Candygirl
Perso je ferais un truc du genre:
Tu souhaites traiter côté php, javascript,...? On peut redéplacer ton message sur le forum correspondant..
l'expression que tu vien de proposer ne marche pas

je suis daccord de deplacer le sujet dans la rubrique php
UN|X` est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 15h41   #9
Modératrice
 
Avatar de Candygirl
 
Femme
Inscription : juillet 2006
Messages : 1 534
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : juillet 2006
Messages : 1 534
Points : 1 875
Points : 1 875
Citation:
Envoyé par UN|X`
l'expression que tu vien de proposer ne marche pas
Qu'entends-tu par ne marche pas?

Perso je suis partie du principe qu'on prenait tout texte qui se trouve entre les signes > et < il est vrai que, pour que ton exemple passe, j'aurais du mettre le < final en option en ajoutant le ?:

Je te mets un petit test en javascript (c'est ma seule expérience des regexp):

Code javascript :
1
2
3
4
5
6
7
 
st="<html>aaa</html>bbb"
var mon_tab = st.match(/>([^<]+)<?/gi);
alert(RegExp.$1);
for (var i=0; i<mon_tab.length;i++){
	document.write(mon_tab[i]+'<br />');
}

Le problème c'est que je ne sais pas comment récupérer avec le match un tableau directement avec les $1 et pas avec le < > inclus (j'ai juste mis le dernier en alerte que tu voies que le $1 renvoie bien la chaîne voulue).

Bref comme je l'ai dit j'ai des compétances bien limitées et partielles en la matière

Je déplace donc sur les forums php
__________________
Les bons réflexes:
  • avant de poser une question:
    règles | faq | tutoriels | recherche
  • clarté, politesse, vocabulaire et orthographe soignés = efficacité
  • remercier ceux qui ont pris le temps d'aider et si c'est le cas
Candygirl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2007, 09h52   #10
Membre chevronné
 
Avatar de Korko Fain
 
Étudiant
Inscription : août 2005
Messages : 632
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2005
Messages : 632
Points : 632
Points : 632
et pourquoi tu ne fais pas un strip_tags ??
Ou a la limite (pour conserver les espaces) faire un
Code :
preg_replace('#<[^>]+>#', ' ', $texte);
Korko Fain est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h23.


 
 
 
 
Partenaires

Hébergement Web