Problème avec preg_match et/ou eregi

Eléphant du PHP | 153 Messages

29 nov. 2006, 20:08

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.

Eléphant du PHP | 153 Messages

30 nov. 2006, 17:10

Un petit up.

SVP.
Merci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 nov. 2006, 17:23

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 153 Messages

30 nov. 2006, 17:36

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:
Modifié en dernier par Cobra52 le 01 déc. 2006, 09:38, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 nov. 2006, 23:31

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:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute