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 12/07/2006, 13h55   #1
Membre actif
 
Avatar de yotsumi
 
Julien L
Inscription : mars 2005
Messages : 187
Détails du profil
Informations personnelles :
Nom : Julien L
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mars 2005
Messages : 187
Points : 154
Points : 154
Envoyer un message via MSN à yotsumi
Par défaut Aide pour une REGEX svp

Bonjour à vous

J'aurais besoin de votre aide pour créer une regex, en fait c'est plus particulièrement au niveau de la fonction à utiliser que je suis perdu

Je souhaite récupérer le nom d'un morceau en analysant le code HTML d'une page.

Le code est de ce style ( en rouge les délimitateurs ) :
Current Song: </font></td><td><font class=default><b>Le texte que je veux récupérer</b></td></tr></table>

Avec ce bout de code, j'arrive à délimiter correctement la chaine que je veux, mais ce n'est pas l'effet que je veux. je veux tout simplement mettre de coté dans une autre variable cette partie de la page.
Citation:
$debut='Current Song\: \<\/font\>\<\/td\>\<td\>\<font class\=default\>\<b\>';
$fin='\<\/b\>\<\/td\>\<\/tr\>\<\/table\>';

echo preg_replace("/$debut(.+?)$fin/i", "--$1--", $var);
Merci de m'aider
yotsumi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 14h26   #2
Membre du Club
 
Avatar de randimby
 
Inscription : décembre 2003
Messages : 64
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 64
Points : 57
Points : 57
Envoyer un message via MSN à randimby
Par défaut preg_match

Code :
1
2
3
$pattern = "/$debut(.+?)$fin/i";
preg_match($pattern, $html_data, $result);
echo '<pre>'; print_r($result); echo '</pre>'; //ceci debogue le résultat
Tu peux aussi remplacer preg_match par preg_match_all et découvres toi-même comment ça marche.
randimby est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2006, 17h41   #3
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
juste un truc :
utilise # comme délimiteur, comme ca :
Code :
1
2
$debut='Current Song: </font></td><td><font class=default><b>';
$fin='</b></td></tr></table>';
les / ne sont plus à \ et sinon : ou < > ne sont pas à \

sinon : test
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo 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 10h52.


 
 
 
 
Partenaires

Hébergement Web