Fonction eregi()
Résolu/Fermé
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
-
26 févr. 2008 à 11:00
mali_67 Messages postés 77 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 25 avril 2008 - 27 févr. 2008 à 09:26
mali_67 Messages postés 77 Date d'inscription jeudi 14 février 2008 Statut Membre Dernière intervention 25 avril 2008 - 27 févr. 2008 à 09:26
A voir également:
- Fonction eregi()
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
10 réponses
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
26 févr. 2008 à 12:04
26 févr. 2008 à 12:04
Salut,
Avant de pouvoir t'aider, rappelle-toi que nous n'avons que les infos que tu donnes pour comprendre ton problème.
Ici, tu sors des $Tab[LibelleLienPartenaire] et des $bool sans que tu nous explique ce qu'il contiennent ni que tu nous donnes un exemple d'utilisation qui devrait tourner tel quel.
Pour ne pas jouer aux deveniettes trop longtemps et pour t'aider quand même, voici juste une étude de la ligne de code suivante : $code = eregi("<a href=(.*)</a>",$page,$regs); (on va dire que c'ets ça qui t'intéresse vu que tu en parles dans le sujet de la question, tu vois, c'est pas facile les devinettes ;-).
La sortie, ça donne :
Donc, peu importe comment les liens sont indiqués, ça marche.
Raph
Avant de pouvoir t'aider, rappelle-toi que nous n'avons que les infos que tu donnes pour comprendre ton problème.
Ici, tu sors des $Tab[LibelleLienPartenaire] et des $bool sans que tu nous explique ce qu'il contiennent ni que tu nous donnes un exemple d'utilisation qui devrait tourner tel quel.
Pour ne pas jouer aux deveniettes trop longtemps et pour t'aider quand même, voici juste une étude de la ligne de code suivante : $code = eregi("<a href=(.*)</a>",$page,$regs); (on va dire que c'ets ça qui t'intéresse vu que tu en parles dans le sujet de la question, tu vois, c'est pas facile les devinettes ;-).
<?php $tab_pages = array(); $tab_pages['lien guillemets'] = '<a href="http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu">lien</a>'; $tab_pages['lien apostrophe'] = "<a href='http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu'>lien</a>"; $tab_pages['lien rien'] = '<a href=http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu>lien</a>'; $tab_pages['lien guillemets et tag complexe'] = '<a href="http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu" style="lelien">lien</a>'; $tab_pages['lien apostrophe et tag complexe'] = "<a href='http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu' style=\"lelien\">lien</a>"; $tab_pages['lien rien et tag complexe'] = '<a href=http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu style="lelien">lien</a>'; foreach($tab_pages as $libelle => $page) { if (preg_match("#<a\s*href\s*=\s*('[^']*'|\"[^\"]*\"|\S+).*?>.*?</a>#",$page,$regs)) { $url = ($regs[1]{0} == "'" or $regs[1]{0} == '"')? substr($regs[1], 1, strlen($regs[1]) - 2) : $url; echo "URL : " . $url; } else { echo "$libelle marche pas"; } echo "<br/>\n"; } ?>
La sortie, ça donne :
URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/> URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/> URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/> URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/> URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/> URL : http://www.r4f.org/test/autretest/page.php?arg=1&blabla=tutu<br/>
Donc, peu importe comment les liens sont indiqués, ça marche.
Raph
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
26 févr. 2008 à 14:26
26 févr. 2008 à 14:26
oui desoler je vais mieu expliquer, le code que j'ai donner ne s'effectue seulement si mon url a etais verifier,
d'ou le $bool='true' si $bool ='false' mon url n'as pas etais trouver donc la verification de son code source ne va etre effectuer
ma page et composer d'un tableau avec plusieur colonne(seulement 1 nous interresse($Tab[CodeLienPartenaire])
j'ai un bouton verification qui lorsque j'appui decu va commencer par verifier si l'url($Tab[LibelleLienPartenaire]) est bien active(je n'ai pas mis ce code car il fonctionne) et apés je renvoi $bool a true pour commencer le parcour du code source qui la ne fonctionne pas
enfin surtou la ligne
ou $reg[0] est sencé revoyer ma chaine de caracter complete mais se n'est pas la cas
pour mes variable
- $Tab[LibelleLienPartenaire] est du genre http://carnet-de-voyage.sprice.com/index.php/ c'est l'url donc je parcour le code source(elle as préalablement etais verifier avec le $bool='true')
-$Tab[CodeLienPartenaire] est du genre <a href="http://sejours.fr.sprice.com/searchvacation/list/continent_destination:Asie,pays_destination:Chine" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a> c'est le code de l'hyperlien(celui qui doit ce trouver dans l'url)
dit moi si il manque des renseignement
d'ou le $bool='true' si $bool ='false' mon url n'as pas etais trouver donc la verification de son code source ne va etre effectuer
ma page et composer d'un tableau avec plusieur colonne(seulement 1 nous interresse($Tab[CodeLienPartenaire])
j'ai un bouton verification qui lorsque j'appui decu va commencer par verifier si l'url($Tab[LibelleLienPartenaire]) est bien active(je n'ai pas mis ce code car il fonctionne) et apés je renvoi $bool a true pour commencer le parcour du code source qui la ne fonctionne pas
enfin surtou la ligne
$code = eregi("<a href=(.*)</a>",$page,$regs); if($regs[0]==$Tab[CodeLienPartenaire]) //on isole les caractere
ou $reg[0] est sencé revoyer ma chaine de caracter complete mais se n'est pas la cas
pour mes variable
- $Tab[LibelleLienPartenaire] est du genre http://carnet-de-voyage.sprice.com/index.php/ c'est l'url donc je parcour le code source(elle as préalablement etais verifier avec le $bool='true')
-$Tab[CodeLienPartenaire] est du genre <a href="http://sejours.fr.sprice.com/searchvacation/list/continent_destination:Asie,pays_destination:Chine" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a> c'est le code de l'hyperlien(celui qui doit ce trouver dans l'url)
dit moi si il manque des renseignement
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
26 févr. 2008 à 14:29
26 févr. 2008 à 14:29
oui en faite la sorti doit me donner
if($regs[0]==$Tab[CodeLienPartenaire])
$reg[0]=<a href="http://sejours.fr.sprice.com/" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
$Tab[CodeLienPartenaire]) =<a href="http://sejours.fr.sprice.com/" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
if($regs[0]==$Tab[CodeLienPartenaire])
$reg[0]=<a href="http://sejours.fr.sprice.com/" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
$Tab[CodeLienPartenaire]) =<a href="http://sejours.fr.sprice.com/" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
26 févr. 2008 à 14:53
26 févr. 2008 à 14:53
Et donc j'ai répondu à ta question ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
26 févr. 2008 à 15:17
26 févr. 2008 à 15:17
sa devrai plutot me sortir
url : <a href="http://sejours.fr.sprice.com/searchvacation/list/continent_destination:Asie,pays_destination:Chine" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
mais j'ai pas tout compris a ton code
url : <a href="http://sejours.fr.sprice.com/searchvacation/list/continent_destination:Asie,pays_destination:Chine" target='\"_blank\"' #1aa1e9;\="" color:="" none;="">la Chine</a>
mais j'ai pas tout compris a ton code
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
26 févr. 2008 à 15:25
26 févr. 2008 à 15:25
Disons que ce que j'affichen c'est l'URL et non pas le contenu de la variable, mais bon, tu peux remplacer echo "URL : " . $url; par echo$page; et tu as ce que tu veux...
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
26 févr. 2008 à 15:26
26 févr. 2008 à 15:26
je vien d'essayer sa, mais sa ne fonctionne pas
if (preg_match("/$Tab[CodeLienPartenaire]/i",$page,$regs)!=0) { echo '<span style="color:green;">'.htmlentities($Tab[CodeLienPartenaire]).'</span>'; } else { echo '<span style="color:red;">'.htmlentities($Tab[CodeLienPartenaire]).'</span>'; } fclose($fp);
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
26 févr. 2008 à 15:49
26 févr. 2008 à 15:49
il faut transformer
if (preg_match("/$Tab[CodeLienPartenaire]/i",$page,$regs)!=0)
en
if (preg_match(""#<a\s*href\s*=\s*('[^']*'|\"[^\"]*\"|\S+).*?>.*?</a>#", $page, $regs) && $page == $Tab['CodeLienPartenaire'])
Tu recherches l'expression régulière (le premier paramètre de preg_match) dans la chaîne de caractères $page et si c'est bien le bon format d'expression régulière, alors tu testes si c'est égale à $Tab['CodeLienPartenaire'], non ?
Et pourquoi tu utilises des expressions régulières au lieu de strstr ? https://www.php.net/manual/fr/function.strstr.php
Raph
if (preg_match("/$Tab[CodeLienPartenaire]/i",$page,$regs)!=0)
en
if (preg_match(""#<a\s*href\s*=\s*('[^']*'|\"[^\"]*\"|\S+).*?>.*?</a>#", $page, $regs) && $page == $Tab['CodeLienPartenaire'])
Tu recherches l'expression régulière (le premier paramètre de preg_match) dans la chaîne de caractères $page et si c'est bien le bon format d'expression régulière, alors tu testes si c'est égale à $Tab['CodeLienPartenaire'], non ?
Et pourquoi tu utilises des expressions régulières au lieu de strstr ? https://www.php.net/manual/fr/function.strstr.php
Raph
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
26 févr. 2008 à 15:57
26 févr. 2008 à 15:57
ben je me suis inspiré de cour sur ce site https://www.commentcamarche.net/contents/791-php-les-fichiers
et vu que je suis debutant j'ai fait sa a la debutant lol
mais je ne sait même pas a quoi corresponde $page, et $regs
je vai tester le code que tu vien de me conseiller
et vu que je suis debutant j'ai fait sa a la debutant lol
mais je ne sait même pas a quoi corresponde $page, et $regs
je vai tester le code que tu vien de me conseiller
mali_67
Messages postés
77
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
25 avril 2008
4
27 févr. 2008 à 09:26
27 févr. 2008 à 09:26
Merci pour les reponse probleme resolue avec preg_match