PHP et preg_match_all
bolbo
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
bolbo Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
bolbo Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à faire une expression régulière qui me permette de reconnaitre un champ SELECT.
Pour le moment, j'ai le code suivant :
récupéré sur PHP.net.
Il reconnait bien le select lorsque tout est écrit sur une seule ligne, sans retour chariot ni rien. Dans ce cas, le résultat et correct.
Le problème apparait lorsque le select est sur plusieurs lignes avec indentation :
Y'a t'il un moyen de lui dire que la parentherse capturante (.*) peut contenir des retour chariot ?
Merci d'avance,
Bolbo
Je cherche à faire une expression régulière qui me permette de reconnaitre un champ SELECT.
Pour le moment, j'ai le code suivant :
$html = "<SELECT name=\"mois_naissance_emprunteur\" title=\"Mois\"><OPTION Value=\"0\">--</OPTION><OPTION Value=\"janvier\">janvier</OPTION><OPTION Value=\"fevrier\">fevrier</OPTION><OPTION Value=\"mars\">mars</OPTION><OPTION Value=\"avril\">avril</OPTION></SELECT>"; echo $html."<br><br>"; $motif="`(<(SELECT+)[^>]*>)(.*)(<\/\\2>)`"; preg_match_all ($motif, $html, $matches); for ($i=0; $i< count($matches[0]); $i++) { echo 'total : ' . $matches[0][$i] . "\n<br>"; echo 'partie 1 : ' . $matches[1][$i] . "\n<br>"; echo 'partie 2 : ' . $matches[3][$i] . "\n<br>"; echo 'partie 3 : ' . $matches[4][$i] . "\n\n<br>____<br>"; }
récupéré sur PHP.net.
Il reconnait bien le select lorsque tout est écrit sur une seule ligne, sans retour chariot ni rien. Dans ce cas, le résultat et correct.
Le problème apparait lorsque le select est sur plusieurs lignes avec indentation :
<SELECT name=\"mois_naissance_emprunteur\" title=\"Mois\"> <OPTION Value=\"0\">--</OPTION> <OPTION Value=\"janvier\">janvier</OPTION> <OPTION Value=\"fevrier\">fevrier</OPTION> <OPTION Value=\"mars\">mars</OPTION> <OPTION Value=\"avril\">avril</OPTION> </SELECT>par exemple.
Y'a t'il un moyen de lui dire que la parentherse capturante (.*) peut contenir des retour chariot ?
Merci d'avance,
Bolbo
A voir également:
- PHP et preg_match_all
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP