[RESOLU] aide pour pattern sur url

ViPHP
ViPHP | 1996 Messages

07 mars 2012, 12:47

Bonjour à tous,

J'essaye d’extraire une partie de l’URL pour retravaille ultérieure.
cela marche avec le couple implode et explode mais je voudrais y arriver avec preg_match.
function lienPhpToHtml ($lien)
{
	$url = parse_url ($lien);
	if (!empty($url["query"]))
	{
		$pattern = "@(=*([-0-9a-zA-Z%_ ]+)&*)+@i";
		if (!preg_match($pattern,$url["query"],$tabRetour))
			return FALSE;
		else
			return $tabRetour;
	}	
}
si je met un lien
$lien = "http://essai.com/index.php?affiche=page1&affiche_que=page2&referenceRecherchee=page3";
print_r (lienPhpToHtml ($lien));
il me retourne :

Array
(
[0] => affiche=page1&affiche_que=page2&referenceRecherchee=page3
[1] => =page3
[2] => page3
)

et m'oublie page1 et page2
Il y a -t-il un problème de pattern ?
Modifié en dernier par Aureusms le 07 mars 2012, 20:46, modifié 1 fois.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 4039 Messages

07 mars 2012, 14:14

parse_str() ne suffit pas ? Ce serait plus indiqué, à mon avis.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 1996 Messages

07 mars 2012, 16:38

Un seul mot : parfait ...!
function lienPhpToHtml ($lien)
{
	$url = parse_url ($lien);
	webmaster ($lien);
	if (!empty($url["query"]))
	{
		parse_str($url["query"],$essai);
		return $essai;
	}
}
$lien = "http://essai.com/index.php?affiche=page1&affiche_que=page2&referenceRecherchee=page3";
print_r (lienPhpToHtml ($lien));
Array
(
    [affiche] => page1
    [affiche_que] => page2
    [referenceRecherchee] => page3
)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 4039 Messages

07 mars 2012, 23:17

parse_str() ne suffit pas ? Ce serait plus indiqué, à mon avis.
N'empêche, je fais mon malin, mais je ne la connaissais pas non plus avant d'avoir répondu :mrgreen: :mrgreen: :mrgreen:
Juste une intuition :wink:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.