Formation Google AnalyticsSavez-vous bien utiliser les outils de mesure d'audience ?
Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ?
Savez-vous utiliser les bons outils pour booster votre taux de transformation ?
La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions !
===> Informations et inscriptions.

PHP - preg_match_all() et expressions regulieres

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Gill's
Nouveau WRInaute

Inscrit le: 03 Jan 2006
Messages: 6

URL permanente de ce messagePosté le : Ven Aoû 24, 2007 16:02    Sujet du message: PHP - preg_match_all() et expressions regulieres

Bonjour,

J'ai un petit soucis avec un preg_match_all et la construction d'expressions régulieres ... J'ai consulter www.expreg.com et un très bon tutoriel http://www.siteduzero.com/tuto-3-168-1-les-expressions-regulieres-partie-1-2.html
mais je ne m'en sort pas ... Rolling Eyes

Voici mon code :

Je voudrais rechercher avec un preg_match_all le code suivant :
<a href="http://www.site.com/ ... jusqu'à la prochaine balise </a>

$motif='`<a href="[^>]+">[^<]+</a>`';
preg_match_all($motif,$chaine,$out);

$count=count($out[0]);

for($i=0;$i<$count;$i++)
{
echo $i,' ',$out[0][$i],'<br/>';
}


Mais dès que je veux inclure :// dans la variable $motif, ca ne marche plus, j'ai du mal avec la synthax. (j'ai l'impression que c'est surtout les 2 points qui genent)
j'ai essayé ceci mais ca n'a pas marché :
$motif=<a href="http://www.site.com/[^>]+">[^<]+</a>`';

Comment faire ?

Merci de votre aide.
 
Gill's
ecocentric
WRInaute accro
WRInaute accro

Inscrit le: 10 Fév 2004
Messages: 3293
Localisation: Mons

URL permanente de ce messagePosté le : Ven Aoû 24, 2007 16:17    Sujet du message: PHP - preg_match_all() et expressions regulieres

il y a des caractères à échapper.
Voir du côté de preg_quote.
http://be.php.net/preg_quote

EDIT: l'échappement du / est spécifique, puisqu'il s'agit d'un déliminteur, voir la doc.
 
ecocentric Visiter le site web du posteur
Didier_S
WRInaute passionné
WRInaute passionné

Inscrit le: 24 Aoû 2004
Messages: 561
Localisation: Paris

URL permanente de ce messagePosté le : Ven Aoû 24, 2007 17:28    Sujet du message: PHP - preg_match_all() et expressions regulieres

pour te macher le boulot :
Code:

echo preg_match('/\<a href="(.*)">(.*)\<\/a>/Ui','<a href="http://URL/">AAA</a>',$matches);


puis print_r($matches)

Merci Eclipse et Regex Util Wink
note: le U est le flag Ungreedy, soit non-gourmand, qui évite que ton pattern attrape tout ce qui se situe entre le premier <a href et le dernier </a> de ta page Wink
 
Didier_S Visiter le site web du posteur
ecocentric
WRInaute accro
WRInaute accro

Inscrit le: 10 Fév 2004
Messages: 3293
Localisation: Mons

URL permanente de ce messagePosté le : Ven Aoû 24, 2007 17:30    Sujet du message: PHP - preg_match_all() et expressions regulieres

(.*?) également non glouton.
 
ecocentric Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort