Petit script php complexe pour moi - PHP - Programmation
Marsh Posté le 07-01-2009 à 22:51:55
J'essaye actuellement de le faire avec preg_match.
Voici où j'en suis :
Code :
|
Si je met "truc.free.fr" en pattern ça retourne bien 1, mais je ne trouve pas moyen de faire retourner 1 pour "touslestrucs.free.fr".
Le '/^.free.fr/' ne fonctionne pas, et les caractères "*" et "?" ne semble pas utilisables.
Une idée ?
Marsh Posté le 07-01-2009 à 23:18:50
Attention avec ^, ça veut dire qu'il faut que ça commence par ce qui suit. Et le point veut dire « n'importe quel caractère, » donc faut l'escaper par \.
Utilise une pattern du genre :
/.+\.(free|wanadoo)\.fr$/ |
Et en cadeau bonus, dans $matches[1], t'aura soit free, soit wanadoo
Marsh Posté le 07-01-2009 à 23:36:06
Merci beaucoup pour ton aide
Je n'ai pas utilisé le | par contre, j'ai fait ceci (pour pouvoir gérer une grande liste) :
Code :
|
Encore merci
PS : aurais-tu un guide sur les expressions "/.+\$#" et tout ce bazar ?
Marsh Posté le 08-01-2009 à 08:34:48
Hmmm, là on risque d'avoir un problème de perfs si la liste est très longue
Marsh Posté le 07-01-2009 à 21:45:55
Bonsoir à tous
Je cherche à faire un script qui fonctionnerait de la manière suivante (je sais que le script n'est pas bon, mais j'ai essayé d'écrire la chose pour qu'on comprenne ce que je cherche à faire):
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); (ça, ça marche j'en suis sûr)
"$list = (".free.fr,.wanadoo.fr" );"
"si $hostname correspond à $list alors ..."
Mon but dans cet exemple est d'afficher un texte spécifique si son host correspond à *.free.fr et *.wanadoo.fr (par exemple, pc1.free.fr).
J'ai cherché du côté "array" et "preg_match" mais je ne sais pas utiliser ces fonctions correctement.
Merci d'avance à quiconque pourrait m'aider sur les fonctions à utiliser
Bonne soirée!