• Bannato User Attivo

    Togliere e poi rimettere http:// se c'è...

    Vorrei creare una lista di link verso siti.
    Una specie di directory.
    Vorrei fare in modo che ogni utente possa proporre un sito.

    Vorrei fare un controllo di questo tipo: se un sito c'è già si dice che c'è già, se non c'è si aggiunge.

    Ma prima di questo vorrei "uniformare" tutti i links contenuti nel db.
    Se il link lo scrive un utente esso a volte mettere l' http:// mentre a volte partirà direttamente con il solito www.eccetera.ecc

    Allora, come posso fare un controllo che mi dica:
    se nella string vedi http:// toglilo idem se vedi alla fine della stringa la "/" finale.

    In questo modo nel DB avrei gli url scritti tutti "bene" e del tipo:
    www.sitoproposto.it e non
    http://www.sitoproposto.it/

    come posso fare?
    Grazie!!!


  • Moderatore

    if (!ereg("^http://",$url)) {$url="http://".$url;}

    :ciauz:


  • Bannato User Attivo

    Mi studio cosa significa eregi e poi provo 😄
    Grazie, sei sempre gentilissimo massy!


  • Moderatore

    ereg cerca le occorrenze nella stringa e da true se le trova false se no.

    !ereg fa il contrario.

    !ereg("^http:",$url) cerca se la variabile $url inizia con http
    Se non è così ho fatto in modo che tale valore venga aggiunto alla var.

    Tutto qui 🙂


  • User Attivo

    @massy said:

    ereg cerca le occorrenze nella stringa e da true se le trova false se no.

    !ereg fa il contrario.

    !ereg("^http:",$url) cerca se la variabile $url inizia con http
    Se non è così ho fatto in modo che tale valore venga aggiunto alla var.

    Tutto qui 🙂

    Io ho un problema simile, da indirizzi completi vorrei estrarre solo il nome del dominio.
    Esempio:
    da http://www.sito.com/cart/cart2/file.html
    a http://www.sito.com
    Sapete indicarmi se esiste una funzione o se non c'è come si può ottenere questo risultato?


  • Moderatore

    Ciao.

    Quegli url son esterni al tuo sito?
    Se sì potresti cercare la posizione con strpos() di / magari a partire dall'ottavo carattere per evitare i primi due e poi con substr() tagli a quella posizione a partire da zero.

    Scritto a caldo (verifica eventuali errori 🙂 )

    
    <?php
    
    $var="http://www.sito.com/cart/cart2/file.html";
    $url=substr($var,0,strpos($var,"/",7));
    $url=(!ereg("^http://",$url))?"http://".$url:$url;
    
    print($url);
    
    ?>
    
    

  • User Attivo

    @massy said:

    Ciao.

    Quegli url son esterni al tuo sito?
    Se sì potresti cercare la posizione con strpos() di / magari a partire dall'ottavo carattere per evitare i primi due e poi con substr() tagli a quella posizione a partire da zero.

    Scritto a caldo (verifica eventuali errori 🙂 )

    
    <?php
    
    $var="http://www.sito.com/cart/cart2/file.html";
    $url=substr($var,0,strpos($var,"/",7));
    $url=(!ereg("^http://",$url))?"http://".$url:$url;
    
    print($url);
    
    ?>
    
    

    Perfetto !!
    è proprio ciò di cui avevo bisogno, grazie!!