ereg ou preg_match sur terme " [ " marche pas - detection de variable

Le
newpain
bonjour,
je galère avec mes différentes variables :
j'ai une chaîne qui commence par [a et ce termine par ]
mais lorsque je fais une détection du style
if (ereg('[a','[a15]')){
echo 'fonctionne';
} else { echo 'fonctionne pas'; }

et ça marche pas, j'ai tenté la fonction eregi - même constat et tenté
preg_match pareil sans résultats.

Sachant que j'ai pas le droit de supprimé ni remplacer les crochets, et
que le probleme vient du [ j'ai pas de solutions.

La fonction preg_match me semble ere plus adéquat mais je piges pas les
termes de recherche /?^

avez vous des idées ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #19506871
Le 07/06/2009 11:48, newpain a écrit :

j'ai une chaîne qui commence par [a et ce termine par ]
mais lorsque je fais une détection du style
if (ereg('[a','[a15]')){
echo 'fonctionne';
} else { echo 'fonctionne pas'; }

et ça marche pas,



RTFM ?

-- ereg('[a','[a15]')
-- ereg('[[]a','[a15]')

La fonction preg_match me semble ere plus adéquat mais je piges pas les
termes de recherche /?^



-- preg_match('/[a/','[a15]')
-- preg_match('/[[]a/','[a15]')

ou bien sûr :

-- (strstr('[a15]', '[a') !== FALSE)

--
Olivier Miakinen
Olivier Miakinen
Le #19507181
Le 07/06/2009 11:54, je répondais au nouveau pain :

ou bien sûr :

-- (strstr('[a15]', '[a') !== FALSE)



Je voulais dire :
-- (strpos('[a15]', '[a') !== FALSE)

(strstr marche aussi, mais il consomme plus de temps et de ressources)

--
Olivier Miakinen
newpain
Le #19512171
Olivier Miakinen a écrit :
Le 07/06/2009 11:54, je répondais au nouveau pain :
ou bien sûr :

-- (strstr('[a15]', '[a') !== FALSE)



Je voulais dire :
-- (strpos('[a15]', '[a') !== FALSE)

(strstr marche aussi, mais il consomme plus de temps et de ressources)



Excellent merci beaucoup, tant que j'y suis , tu connaîtrais un site qui
fait une explication sur les '/[a/' - en fait le pourquoi du comment
des slashs, crochets ?
Mickael Wolff
Le #19512181
Olivier Miakinen a écrit :

-- ereg('[a','[a15]')
-- ereg('[[]a','[a15]')



Je rajouterais que ereg est déconseillé, en raison de problème de
performance et de sa suppression dans l'avenir.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Olivier Miakinen
Le #19512491
Le 07/06/2009 23:51, newpain a écrit :

[...] tant que j'y suis , tu connaîtrais un site qui
fait une explication sur les '/[a/' - en fait le pourquoi du comment
des slashs, crochets ?



Oui, bien sûr. Un bon point de départ est tout simplement le site
officiel de PHP, dans ma première réponse.

Tout d'abord, concernant ereg et les expressions rationnelles POSIX, il
est conseillé à presque chaque page du manuel de leur préférer les
expressions rationnelles PCRE (ainsi que l'a rappelé Mickaël Wolff) :

Concernant les regex PCRE, maintenant, la page d'introduction explique
qu'il faut un délimiteur au début et à la fin, que ce délimiteur peut
être un slash (/) mais que ce n'est pas obligé :

Quant à la syntaxe des masques, par exemple en quoi le caractère crochet
([) est un métacaractère et comment on peut le protéger, c'est expliqué
ici :
Voir aussi les options de recherche :
et puis la doc complète (en anglais) de PCRE :

Cordialement,
--
Olivier Miakinen
Publicité
Poster une réponse
Anonyme