Problème de regex

tony1239456 Messages postés 41 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008 - 11 janv. 2006 à 11:20
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 11 janv. 2006 à 19:20
Bonjour, j'ai un problème au niveau de ma regex. Elle sert à extraire le premier lien qu'elle trouve dans la page et la met dans la variable : $lien[0]. Pour le moment tout va bien, mais je voudrais que cette regex puisse extraire un lien au hasard qu'elle trouve dans la page ne question plutôt que le premier. Mais je n'ai aucune idée de la fonction permettant de faire ce genre d'action. Voici ma regex :

<?php
preg_match('!http://[A-Za-z0-9][A-Za-z0-9\-\.]+[A-Za-z0-9]\.[A-Za-z]{2,}[\43-\176]*+!isU', $code, $lien);
echo $lien[0];
?>

Je précise que la variable $code n'est pas vide et contient des liens divers.

Aidez-moi s'il vous plait !

Tony123945

3 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
11 janv. 2006 à 13:04
Salut!
Tu peux tous les récupérer dans un tableau et compter les éléments du tableau ( avec la fonction count? ). Ensuite, tu génère un nombre aléatoire entre 0 et count - 1 et le tour ets joué

Ca te va?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
tony1239456 Messages postés 41 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 9 septembre 2008
11 janv. 2006 à 15:36
Pour le count je n'y arrive pas, je fais :
$nb=count($lien);
Et la valeur de nb reste toujours fixée à 1. Je pense que le problème vient de preg_match. Je pense que la fonction preg_match extrait que 1 lien de la variable code. Faudrait-il pas mettre preg_match_all ?

Tony123945
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
11 janv. 2006 à 19:20
Oui, lol, juste! Boolay que je suis, :D
La fonction preg_match_all te renvoie combien elle a trouvé d'objets dans ton texte...

http://www.nexen.net/docs/php/annotee/function.preg-match-all.php

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rejoignez-nous