Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Regex per estrapolare link

    Salve a tutti

    Gentilmente un aiuto. Ho questa funzione:

    Codice PHP:
    function estraiUrls($text)
      {
       
    preg_match_all('/[a-z]+:\/\/\S+/'$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.

    Ebbene vorrei fare in modo che mi tiri fuori solo gli url che terminano con "-zoom.jpg" o con "-zoom.png" o con "-zoom.gif". Come posso fare includendo il tutto nella regex?

    Infine la regex descritta mi tira fuoiri anche le virgolette finali o una parte di stringa che sta subito dopo le virgolette (esempio: ">La).
    Insomma mi servirebbe l'url pulito che termina con
    "-zoom.jpg" o con "-zoom.png" o con "-zoom.gif".

    Attendo i vostri utili suggerimenti

    Grazie mille
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova cosi (appena testato).

    '/[a-z]+:\/\/\S+\-zoom\.(jpg|png|gif)/'
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Perfetto Badaze, davvero gentile e tempestivo

    E se voglio aggiungere anche i link che terminano con -grande olrec he con -zoom, così va bene?

    '/[a-z]+:\/\/\S+\-zoom\-grande\.(jpg|png|gif)/'

    Ma mi sa di no perchè non va.

    Grazie
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  4. #4
    In questo modo dovrebbne andare bene:
    '([a-z]+:\/\/(?:[^\/]+\/)*[^\/]+\-(?:zoom|grande)\.(?:jpg|png|gif))'

    Ma 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:
    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
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, che significa "altro testo e immagini"?
    A me pare che così funzioni:
    '([a-z]+:\/\/(?:[^\/]+\/)*[^\/]+\-(?:zoom|grande)\.(?:jpg|png|gif))'
    Quale problema riscontri esattamente?
    Nel caso, puoi fare un esempio concreto postando il testo con cui hai il problema?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Salve, ecco cosa intendo esattamente:
    http://www.bricolageonline.net/sitemap-immagini.php

    Oltre ai link che terminano per -zoom.jpg, -grande.jgp appare anche del testo e altre immagini. Solo nella prima parte è ripulito da tutto, poi inizia ad apparire testo e immagini (quello che intendevo ).

    Grazie
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    A questo punto mi viene qualche dubbio sul codice php che stai usando. Puoi postare quello che stai usando attualmente?

    EDIT
    Cioè in sostanza dovresti avere una cosa del genere:
    Codice PHP:
    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."<br>"
    Dove $text sarà il testo da esaminare.
    Dalla tua pagina non si capisce quale sia il testo di partenza e cosa effettivamente stia restituendo la funzione e relativa espressione regolare.
    Ultima modifica di KillerWorm; 14-05-2015 a 00:22
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.