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

    PHP estrarre url da testo

    Da un testo in formato stringa avrei bisogno di controllare e poi estrapolare se ci sono degli url.

    Per capirsi meglio, ipotesi di testo: "Ciao a tutti sono nuovo del forum http://www.google.it ma le url potrebbero anche essere diverse http:xx.yy.zz/index.qualchecosa"

    Pensavo di fare una funzione che "sente" la presenza della parola http e poi "cattura" tutto il testo seguente fino al primo spazio...

    Soluzioni migliori? Suggerimenti?

    Ciao a tutti, Keres.

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    ciao potresti utilizzare le funzioni sulle stringhe date da PHP...ti faccio un esempio
    Codice PHP:
    $testo="";//questa è la variabile di testo da dove vuoi estrapolare l'url
    $http=strstr($testo"http"); // ti trova la prima istanza della stringa che inizia con http
    $url=explode(" ",$http);
    echo 
    $url[0]; //questa è il tuo indirizzo estrapolato dal testo. 
    Questo codice è solo nel caso in cui ci sia solo un inserimento di url nel testo, nel caso in cui ce ne dovessero essere più di uno basta ciclare fin quando la funzione strstr non trova più stringhe "http" all'interno del testo.
    Spero ti sia stato d'aiuto.

  3. #3

    Re: PHP estrarre url da testo

    Originariamente inviato da KeresContorni
    Soluzioni migliori? Suggerimenti?
    http://simplehtmldom.sourceforge.net/

  4. #4
    Originariamente inviato da jcsnake
    ciao potresti utilizzare le funzioni sulle stringhe date da PHP...ti faccio un esempio
    Codice PHP:
    $testo="";//questa è la variabile di testo da dove vuoi estrapolare l'url
    $http=strstr($testo"http"); // ti trova la prima istanza della stringa che inizia con http
    $url=explode(" ",$http);
    echo 
    $url[0]; //questa è il tuo indirizzo estrapolato dal testo. 
    Questo codice è solo nel caso in cui ci sia solo un inserimento di url nel testo, nel caso in cui ce ne dovessero essere più di uno basta ciclare fin quando la funzione strstr non trova più stringhe "http" all'interno del testo.
    Spero ti sia stato d'aiuto.
    C'è anche da prendere in considerazione che qualcuno possa scrivere 'www' senza http:// , quindi direi di modificarlo così:

    Codice PHP:
    $search substr_count($testo'http://');
    if (
    search == 0) {
    $http=strstr($testo"www.");
    } else {
    $http=strstr($testo"http://");
    }

    $url=explode(" ",$http);
    echo 
    $url[0]; //questa è il tuo indirizzo estrapolato dal testo. 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  5. #5
    Ho modificato lo script in modo che possa ottenere anche solo il dominio...

    codice:
    $testo = "prova con un'url http://www.google.it/prova/pluto";
    
    $search = substr_count($testo, 'http://');
    if ($search == 0) {
    $http=strstr($testo, "www.");
    } else {
    $http=strstr($testo, "http://");
    }
    
    $url=explode(" ",$http);
    echo $url[0] . "\n"; //questa è il tuo indirizzo estrapolato dal testo.
    
    $grezzo = explode( "//", $url[0] );
    $dominio = explode( "/", $grezzo[1] );
    echo $dominio[0] . "\n";

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.