Page 1 sur 1

fonction explode qui rend fou ¿

Posté : 05 mai 2011, 16:49
par zion75
Bonjour,

J'ai un petit problème avec la fonction explode.
En fait je veux récupérer dans des URLs les chifres qui apparaissent après le mot article.
J'ouvre un fichier avec plein d'url mais pour l'exemple , je vous le fait ici avec une seule adresse.
   $dodo = "http://comitescommunes-melun.info/spip.php?article35";
   $res = explode("article",$dodo);
   echo $res[1]."a";
Donc la je voudrais récupérer juste 35. Ici je récupère bien 35a. MAIS parfois je récupère le nombre un espace et le a. Je ne veux pas d'espace!!!
Explode fonctionne parfois, mais dans la liste il doit y avoir des espace après le nombre.

Je préfère ne pas faire une str replace a chaque fois ce serait pas optimale. Je dois avoir un autre moyen non de récupérer les chiffres après le mot article, seulement les chiffres, pas les espaces.
Je me perd dans les expressions régulière et jy arrive pas . Un coup de main serait vraiment appréciable ^^

Re: fonction explode qui rend fou ¿

Posté : 05 mai 2011, 16:51
par Yosh
Un explode ne sert à rien ici,

regarde du côté des regex

Re: fonction explode qui rend fou ¿

Posté : 05 mai 2011, 18:13
par dunbar
Salut,

Essaye avec preg_match peut-être :)
<?php

$dodo = "http://comitescommunes-melun.info/spip.php?article 35";

preg_match("/([0-9]{2})/",$dodo, $resultat);


echo $resultat[0].'a';

?>
A+

Re: fonction explode qui rend fou ¿

Posté : 05 mai 2011, 18:20
par zion75
oui mais comme je peux avoir des chiffres au début de l'url , ca me pose des problème, j'ai déja tester ce genre d'idée

Re: fonction explode qui rend fou ¿

Posté : 05 mai 2011, 18:54
par dunbar
oui mais comme je peux avoir des chiffres au début de l'url , ca me pose des problème, j'ai déja tester ce genre d'idée
Et bien il suffit de lui dire de ne vérifier que la fin de la chaîne (angrage)

Exemple
<?php
 
$dodo = "http://comitescommunes-melun.info/spip.php?article 35";
 
preg_match("/([0-9]{2}$)/",$dodo, $resultat);
 

echo $resultat[0].'a';
 
?>