php preg masque

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

yep
WRInaute impliqué
WRInaute impliqué
 
Messages: 286
Inscription: Sam Avr 03, 2004 12:02

php preg masque

Message le Sam Nov 13, 2004 22:20

Bonjour à tous

je tente désepèrement de créer un masque qui me permettrait de trouver dans une chaine de la forme suivante : nom='contenu'
que se soit avec de simples quotes, des guillemets ou aucun des deux

j'ai déjà quelque chose mais cela ne fonctionne pas, quelqu'un peut m'aider siouplé :p

Code: Tout sélectionner
$masque = "/([^ ][\w]+)=(?(')|(\"))(.*?)((?(2)(')|(\"))+)/e";


([^ ][\w]+) => un premier mot n'ayant pas d'espaces
(?(')|(\"))(.*?)((?(2)(')|(\"))+) => l'ensemble du contenu entre des guillemets

enfin voilà quoi je vraiment besoin d'aide sniff (:p)

Gator
Nouveau WRInaute
 
Messages: 9
Inscription: Ven Sep 10, 2004 16:17

Re: php preg masque

Message le Dim Nov 14, 2004 1:38

Sans regarder le truc à fond, déjà le début ne semble pas bon :
Code: Tout sélectionner
[^ ]

ça doit vouloir dire "une ligne qui commence par un espace" et puis pourquoi toutes ces accolades ? d'autant plus que le "+" veut dire "1 ou plus" donc pas "un mot".

Bref, un petit coup de Google s'imposerait pour chercher par exemple un "tutoriel expressions régulières" !

yep
WRInaute impliqué
WRInaute impliqué
 
Messages: 286
Inscription: Sam Avr 03, 2004 12:02

Re: php preg masque

Message le Dim Nov 14, 2004 13:07

Code: Tout sélectionner
([^ ][\w]+)


Il me semble que cela signifie : un seul mot ne contenant pas d'espaces, non?
Dernière édition par yep le Dim Nov 14, 2004 14:02, édité 1 fois.


kalex
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 241
Inscription: Mar Sep 14, 2004 16:13

Message le Dim Nov 14, 2004 13:39

J'ai fait une petite fonction y a pas longtemps pour un cas un peu similaire.
La voilà :
Code: Tout sélectionner
function make_arg($str){
   preg_match_all('/\s*(.*?)\s*=\s*\"(.*?)\"/', $str, $attribs, PREG_SET_ORDER);
   foreach($attribs AS $val){
           $arg[$val[1]] = $val[2];
   }
   return $arg;
}


$str est la chaîne contenant nom="contenu", la fonction retourne un tableau où $tab['nom'] contiendra "contenu".

MoX
Nouveau WRInaute
 
Messages: 8
Inscription: Dim Nov 14, 2004 13:52

Message le Dim Nov 14, 2004 14:04

interressant


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités