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

    Creazione di un link con espressione regolare

    Se è possibile vorrei poter risolvere questo problema.
    Ho, o posso creare, 2 stringhe:
    codice:
    $immagine = "<img src=\"html.gif\" alt=\"immagine\" width=\"32\" height=\"32\" border=\"none\" />";
    $la_frase = "E' possibile visitare il sito www.un_sito_qualsiasi.it oppure il sito http://altro_sito.altervista.org/ per le spiegazioni del caso";
    Da queste due stringhe vorrei che l'immagine diventi cliccabile per aprire il link ad essa abbinata.
    Purtroppo il contenuto delle 2 variabili non è noto per cui è impossibile creare la stringa finale manualmente:
    E' possibile visitare il sito [img]html.gif[/img] oppure quest'altro [img]html.gif[/img] per le spiegazioni del caso
    Per spiegarmi vorrei mostrare >>> questa pagina <<< anche per spiegare come ho risolto un altro problema analogo.

    In pratica vorrei sapere se è possibile organizzare una espressione regolare per ottenere come risultato l'esempio illustrato nella pagina che ho linkato.

    Grazie

  2. #2
    si è possibile, studiati la funzione preg_replace_callback
    Ciao!
    =======================
    http://www.abidibo.net

  3. #3
    Non e' banale individuare un URL all'interno di un testo. Questo e' il mio tentativo:

    codice:
    <?php
    $immagine = "<img src=\"html.gif\" alt=\"immagine\" width=\"32\" height=\"32\" border=\"none\" />";
    $la_frase = "E' possibile visitare il sito www.un-sito-qualsiasi.it
    oppure il sito http://altro-sito.altervista.org/index.php?a=f/. per
    le spiegazioni del caso.certo che fruple.com";
    
    echo preg_replace("#\b(?:http(s?)://)?((?:[a-z0-9-]+\.)+[a-z]{2,4}(?:/[^\s]*)?\b/?)#", "<a href=\"http$1://$2\">$immagine</a>", $la_frase);
    ?>
    considera che - se non ricordo male - i nomi di dominio non possono avere gli underscore (solo lettere, numeri e il trattino) quindi ho modificato la tua stringa di esempio. Non ho testato la regexp su altri testi quindi e' possibile che abbia mille difetti

  4. #4
    Non e' banale individuare un URL all'interno di un testo. Questo e' il mio tentativo:
    Ti ringrazio, k.b. E' vero, non è banale, ma sembra che ci hai preso al primo colpo come puoi vedere dalla pagina di prova che è sempre linkata e subito aggiornata qui sopra.
    Ti ringrazio anche per la precisazione sui nomi di dominio ai quali non ho prestato particolare attenzione, visto che sto usando la pagina solo per questo test.

    Ringrazio anche abidibo per la segnalazione. Purtroppo questa delle espressioni regolari è una cosa che ancora mi è oscura e che quanto prima dovrò affontare per non avere più di questi problemi.

    Di nuovo grazie ed alla prossima.

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.