Regex per estrapolare url da testo

Alexander02

Utente Attivo
16 Mag 2012
23
0
1
Gentilmente un aiuto. Ho questa funzione:

Codice:
function estraiUrls($text)
  {
   preg_match_all('([a-z]+:\/\/(?:[^\/]+\/)*[^\/]+\-(?:zoom|grande)\.(?:jpg|png|gif))', $text, $matches);
   return $matches[0];
  }

$arr = estraiUrls($text);
foreach($arr as $valore)echo $valore)
echo $valore;

che mi tira fuori gli url in un testo contenente tag html.

Tuttavia, mi appare anche altro testo e immagini, oltre a quelle terminanti con -zoom.jpg, -zoom.png, -zoom.gif, -grande.png, -grande.jpg, -grande.png.

A me interessa in pratica che escano soltanto questo tipo di url:

Codice:
http://www.prova.it/immagini/nomeimmagine-zoom.jpg
http://www.prova.it/immagini/nomeimmagine-zoom.png
http://www.prova.it/immagini/nomeimmagine-zoom.gif


http://www.prova.it/immagini/nomeimmagine-grande.jpg
http://www.prova.it/immagini/nomeimmagine-grande.png
http://www.prova.it/immagini/nomeimmagine-grande.gif

e tutto il resto venga tolto.

Attendo gentilmente vostre delucidazioni, grazie ;)
 
Qualcosina l'ho fatta.. Non credevo fosse messa così la pag :crying:
Sto facendo altre prove, purtroppo ho pochissimo tempo, però non smetterò di provare, perchè è un test anche per me ;)

per ora appaiono tutti i link, compresi quelli che finiscono con .html ( che non riesco a capire perchè non li esclude ).
Inserisco quanto ho fatto magari può servire anche a qualcun'altro per proseguire ed arrivare prima ad una conclusione..
PHP:
<?php 
$html = file_get_contents('http://www.bricolageonline.net/sitemap-immagini.php');
					
function estraiUrls($text)
  {
   preg_match_all('/(http:(.*?)-(?:zoom|grande)\.(?:jpg|png|gif))/', $text, $matches);
   return $matches[0];
  }

$arr = estraiUrls($html);

foreach($arr as $valore){
echo $valore.'<br />';					
}
?>
 

Discussioni simili