REGEX en PHP aidez moi svp, j'en ai besoin
Fermé
bnrj
Messages postés
129
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
1 septembre 2013
-
17 avril 2010 à 20:52
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 17 avril 2010 à 21:27
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 17 avril 2010 à 21:27
Bonjour,
j'aimerais creer un script qui permet de mettre dans une variable un code trouvé entre deux balises, j'ai fait ceci :
$file_g=file_get_content("http://monsite.com");
$file_f=preg_match("\<span style=\"font-weight:bold;font-family:courier;font-size:15px;border:1px solid black;\"\>(+.)\</span\>",$file_g);
if($file_f==TRUE){
header("location:http://monsite.com&code=".$1);
}
Sauf que la variable $1 n'est pas déclarée... Donc comment je peux faire pour récupérer le code entre la balise ??? merci d'avance !!
j'aimerais creer un script qui permet de mettre dans une variable un code trouvé entre deux balises, j'ai fait ceci :
$file_g=file_get_content("http://monsite.com");
$file_f=preg_match("\<span style=\"font-weight:bold;font-family:courier;font-size:15px;border:1px solid black;\"\>(+.)\</span\>",$file_g);
if($file_f==TRUE){
header("location:http://monsite.com&code=".$1);
}
Sauf que la variable $1 n'est pas déclarée... Donc comment je peux faire pour récupérer le code entre la balise ??? merci d'avance !!
A voir également:
- REGEX en PHP aidez moi svp, j'en ai besoin
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Convertir php en pdf ✓ - Forum PDF
- Retour à la ligne php ✓ - Forum PHP
3 réponses
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
17 avril 2010 à 20:59
17 avril 2010 à 20:59
Bonjour,
preg_match ne fonctionne pas comme ça.
regarde les infos ici :https://www.php.net/manual/fr/function.preg-match.php
preg_match ne fonctionne pas comme ça.
regarde les infos ici :https://www.php.net/manual/fr/function.preg-match.php
bnrj
Messages postés
129
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
1 septembre 2013
5
17 avril 2010 à 21:00
17 avril 2010 à 21:00
Ah c'est bon j'ai trouvé !
en fait il fallait que j'utilises :
$file_g=file_get_contents("http://monsite.com");
$file_f=preg_match("\<span style=\"font-weight:bold;font-family:courier;font-size:15px;border:1px solid black;\"\>(+.)\</span\>",$file_g);
if($file_f==TRUE){
header("location:http://monsite.com?code=".$matches[1]);
}
mais pouvez vous m'aider pour ma regex car il m'affiche cette erreur :
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in
Merci <3
en fait il fallait que j'utilises :
$file_g=file_get_contents("http://monsite.com");
$file_f=preg_match("\<span style=\"font-weight:bold;font-family:courier;font-size:15px;border:1px solid black;\"\>(+.)\</span\>",$file_g);
if($file_f==TRUE){
header("location:http://monsite.com?code=".$matches[1]);
}
mais pouvez vous m'aider pour ma regex car il m'affiche cette erreur :
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in
Merci <3
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
17 avril 2010 à 21:27
17 avril 2010 à 21:27
parce que tu construis mal ta regex.
le masque de la regex se compose comme suit :
#[texte que tu recherche]#[option]
voilà :)
ici c'est un exemple avec preg_match_all mais preg_match fonctionne quasi de la même manière.
le masque de la regex se compose comme suit :
#[texte que tu recherche]#[option]
$masque = '#je recherche la valeur ([0-9]+) dans ces ([0-9]+) textes.#isU'; $compteur = preg_match_all($masque, $recherche, $var, PREG_PATTERN_ORDER); /* $recherche est la variable dans lequel tu fais ta recherche $var est la variable de sortie preg_match_all renvoi dans $compteur le nombre de fois que la masque a été trouvé si la 1er valeur que tu cheches est 2 et la seconde 3 $var[0] - contient tout ton masque donc je recherche la valeur 2 dans ces 3 textes. $var[1] - contient 2 $var[2] - contient 3 */
voilà :)
ici c'est un exemple avec preg_match_all mais preg_match fonctionne quasi de la même manière.