1

Bonjour,

j'ai un problème, j'ai une chaine contenant du texte et une adresse IP a extraire de cette chaine. Je ne connais pas la longueur de la chaine ni de l'ip, il me faut donc utiliser une regexp et mes skills dans ce domaine sont réduite.

Je n'en vient donc pas a bout et voici l'algorithme de la fonction que j'aimerais obtenir
Si une ip est trouvée dans $chaine alors mettre cette ip dans $ip.

L'ip que je cherche a extraire sera de la forme : ip : port (195.4.17.142:27960 par exemple) et $chaine sera du code html comme ci dessous :

<html>
<body>
...
...
<td>195.4.17.142:27960</td>
...
...
</body>
</html>


Une idée de la regexp et donc de la fontion que j'aimerai faire ?

Voici mon premier test infructueux :
if (ereg('^([0-9]{1,2}|[01][0-9]{2}|2[0-4][0-9]|25[0-5])\.
([0-9]{1,2}|[01][0-9]{2}|2[0-4][0-9]|25[0-5])\.
([0-9]{1,2}|[01][0-9]{2}|2[0-4][0-9]|25[0-5])\.
([0-9]{1,2}|[01][0-9]{2}|2[0-4][0-9]|25[0-5])$',$body,$tab))
{
$ip= $tab[1]; }
Gentoo User

2

arf, j'a fait plus simple et ca marche...
if (ereg('([0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}:?[0-9]{0,5})',$body,$tab))
{
$ip= $tab[0]; }


++
Gentoo User

3

(([0-9]{1,3}\.){3}([0-9]):?([0-9]{,5})