fonction explode qui rend fou ¿

zion75
Invité n'ayant pas de compte PHPfrance

05 mai 2011, 16:49

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 ^^

Mammouth du PHP | 568 Messages

05 mai 2011, 16:51

Un explode ne sert à rien ici,

regarde du côté des regex

ViPHP
ViPHP | 2291 Messages

05 mai 2011, 18:13

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+
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

zion75
Invité n'ayant pas de compte PHPfrance

05 mai 2011, 18:20

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

ViPHP
ViPHP | 2291 Messages

05 mai 2011, 18:54

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';
 
?>
 
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.