coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 12 janv. 2007 à 13:25
DOMINION, "Qui n'a jamais réinventé les regexp une fois dans sa vie ?", euh... personellement, j'ai souvent fait sans, mais jamais recodé un match... et je ne dois pas être le seul dans ce cas...
JoebarGlut
Messages postés111Date d'inscriptionmercredi 13 août 2003StatutMembreDernière intervention17 octobre 2007 11 janv. 2007 à 19:47
Cool le lien, il a l'air bien fait :)
J'ai testé ta fonction kankrelune, c'est vraiment bien ce tableau de match_all, encore merci à tous, bye.
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 11 janv. 2007 à 19:04
JoebarGlut
Messages postés111Date d'inscriptionmercredi 13 août 2003StatutMembreDernière intervention17 octobre 2007 11 janv. 2007 à 18:50
C'est vrai c'est burk, j'osai pas le dire.
Sur ce lien, j'ai beaucoup ris :
1er exemple, niveau facile... hummm ok.
2eme exemple, niveau facile... ok
3eme exemple, niveau difficile :
preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]
([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$chaine);
On dirais mon chat quand il marche sur le clavier.
cs_dominion
Messages postés230Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention15 mai 2008 11 janv. 2007 à 18:27
l'avantage des regexps, c'est que ça marche pour tout (ou presque). Tu as aussi, dans le cas du php, une nette amélioration des perfs : ton code est directement exécuté par l'interpréteur PHP, ce qui est évidemment plus rapide. Et comme tu l'as dit, les options de filtres sont très utiles !!! Le seul véritable défaut que j'ai jamais trouvé dans les regexps, c'est cette syntaxe proprement dégeulasse où finalement tu comprends plus rien (vu que les espaces pour clarifier le code ne sont pas permises...)
JoebarGlut
Messages postés111Date d'inscriptionmercredi 13 août 2003StatutMembreDernière intervention17 octobre 2007 11 janv. 2007 à 18:15
Merci pour vos commentaires :)
J'irai voir à quoi ressemble ces expression rationelles mais en attendant ma méthode me parait plus simple et plus courte :p
Mais j'avou que le fait de pouvoir mettre des options de filtre peut etre interessant dans certains cas.
Bonne année !
cs_twisteurwin
Messages postés167Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 2 mai 2009 11 janv. 2007 à 17:43
Salut all !
Bonne année 2007 à vous tous !
kankrelune > petite correction sur une portion de ton code, un ) de trop
cs_dominion
Messages postés230Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention15 mai 2008 11 janv. 2007 à 16:06
Qui n'a jamais réinventé les regexp une fois dans sa vie ? Maintenant que tu sais que ca existe déjà, Joe, je te conseille viviement d'apprendre a t'en servir, c'est d'une puissance et d'une souplesse invraissemblable ^^
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 11 janv. 2007 à 16:03
12 janv. 2007 à 13:25
11 janv. 2007 à 19:47
J'ai testé ta fonction kankrelune, c'est vraiment bien ce tableau de match_all, encore merci à tous, bye.
11 janv. 2007 à 19:04
11 janv. 2007 à 18:50
Sur ce lien, j'ai beaucoup ris :
1er exemple, niveau facile... hummm ok.
2eme exemple, niveau facile... ok
3eme exemple, niveau difficile :
preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]
([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$chaine);
On dirais mon chat quand il marche sur le clavier.
http://www.expreg.com/pregmatch.php
11 janv. 2007 à 18:27
11 janv. 2007 à 18:15
J'irai voir à quoi ressemble ces expression rationelles mais en attendant ma méthode me parait plus simple et plus courte :p
Mais j'avou que le fait de pouvoir mettre des options de filtre peut etre interessant dans certains cas.
Bonne année !
11 janv. 2007 à 17:43
Bonne année 2007 à vous tous !
kankrelune > petite correction sur une portion de ton code, un ) de trop
$find = searchAndFind('http://www.phpcs.com/','Derniers Codes</h2>','');
bye
11 janv. 2007 à 16:06
11 janv. 2007 à 16:03
{
if(false ($handle @fopen($link, "rb")))
return false;
$datas = '';
while (!@feof($handle))
$datas .= @fread($handle, 8192);
@fclose($handle);
$word1 = preg_quote($word1,'~');
if(is_null($word2))
$word2 = $word1;
else
$word2 = preg_quote($word2,'~');
$option = '';
if($noCase === true)
$option = 'i';
if($findAll === false)
preg_match('~'.$word1.'(.*?)'.$word2.'~s'.$option,$datas,$matches);
else
preg_match_all('~'.$word1.'(.*?)'.$word2.'~s'.$option,$datas,$matches,PREG_SET_ORDER);
$ret = array();
if(!empty($matches))
{
if($findAll === false)
$ret[] = $matches[1];
else
{
$i = -1;
while(isset($matches[++$i]))
$ret[] = $matches[$i][1];
}
}
return $ret;
}
$find = searchAndFind('http://www.phpcs.com/','Derniers Codes</h2>',''));
if(empty($find))
echo 'String not found';
else
echo $find[0];
@ tchaOo°
10 janv. 2007 à 21:51
Je suis d'accord avec "Garfield90". Tu utilises beaucoup de fonctions pour pas grand chose ...
"$retour = preg_match('`'.$word.'(.+?)'.$word2.'`sim',$retour);
return $return[0];" devrait donner le même résultat (enfin normalement :-P)
10 janv. 2007 à 19:20
Parfois faut se débrouiller comme on peut :)
10 janv. 2007 à 17:35
-> preg_*
-> ereg_*
Y a plus qu'a regarder dans le manuel