Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

1 view
Skip to first unread message

newpain

unread,
Jun 7, 2009, 5:48:38 AM6/7/09
to
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 ?

Olivier Miakinen

unread,
Jun 7, 2009, 5:54:42 AM6/7/09
to
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

unread,
Jun 7, 2009, 6:21:26 AM6/7/09
to
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

unread,
Jun 7, 2009, 5:51:06 PM6/7/09
to
Olivier Miakinen a �crit :
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

unread,
Jun 7, 2009, 5:51:06 PM6/7/09
to
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

unread,
Jun 7, 2009, 6:55:14 PM6/7/09
to
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, <http://www.php.net/>, ce pourquoi j'�crivais � RTFM �
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) :
<http://www.php.net/manual/fr/function.ereg.php>
<http://www.php.net/manual/fr/intro.regex.php>.

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� :
<http://www.php.net/manual/fr/intro.pcre.php>.

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 : <http://www.php.net/manual/fr/regexp.reference.php>.

Voir aussi les options de recherche :
<http://www.php.net/manual/fr/reference.pcre.pattern.modifiers.php>
et puis la doc compl�te (en anglais) de PCRE :
<http://www.pcre.org/pcre.txt>.

Cordialement,
--
Olivier Miakinen

0 new messages