Page 1 sur 1

Problème avec preg_match et/ou eregi

Posté : 29 nov. 2006, 20:08
par Cobra52
Bonjour à tous,

J'utilise une fonction de gération automatique de fichier sitemap.xml

Mais je ne souhaite pas que certaines url soient inscrites dans le fichier.
J'ai donc utilisé la fonction preg_match et la eregi, mais sans succès :?
J'ai, quelle que soit la fonction, cette erreur :

Code : Tout sélectionner

Warning: eregi() [function.eregi]: Invalid preceding regular expression in /***/****/***/index.php on line 148
et

Code : Tout sélectionner

Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 0 in /***/****/***/index.php on line 148
Je vérifie si ".php?" ou ".html?" ou "voter" existe dans la chaîne (l'url)
Si TRUE, ne rien faire, sinon la fonction de génération auto.

Le code php que j'utilise avec preg_match :
if (preg_match("/.php?/i", $url) OR preg_match("/.html?/i", $url) OR preg_match("/voter/i", $url))
{
}
else
{
la fonction de génération auto
}
Et avec eregi :

Code : Tout sélectionner

if (eregi("php", $urldemandee) OR eregi("?", $urldemandee) OR eregi("voter", $urldemandee)) { } else { la fonction de génération auto }
La quelle des 2 fonctions (eregi ou preg_match) dois-je utiliser ?
Et de quelle manière pour que cela fonctionne, svp ?

Merci pour votre aide.

Posté : 30 nov. 2006, 17:10
par Cobra52
Un petit up.

SVP.
Merci.

Posté : 30 nov. 2006, 17:23
par Ryle
Ton problème ne viendrait-il pas du caractère "?" qui est un caractère spécial des expressions régulières ? avec un antislash devant pour signaler qu'il s'agit bien du caractère ? et non de la cardinalité 0 ou 1, devrait déjà résourdre une partie de ton problème :)

Ps : C'est pas bien de faire des ups :P

Posté : 30 nov. 2006, 17:36
par Cobra52
Effectivement, on dirait que ça fonctionne comme ça :D
if (eregi("php", $url) OR eregi("\?", $url) OR eregi("voter", $url)) 
Désolé pour le up :? mais comme c'est pour générer un sitemp.xml
et que je me retrouvais avec des erreurs, pour google, c'est pas trop l'pied.

Toutes mes excuses.
Merci Ryle pour ton aide toujours aussi efficace =D> :pouce:

Posté : 30 nov. 2006, 23:31
par Truc
Modération :
Cobra52, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération en cliquant sur le bouton [Mettre Résolu] en haut à gauche de ce sujet.

Je passe sur le UP :wink:
mais attention :non: