Visualizzazione risultati 1 fino 4 di 4

Discussione: [php] Inserire http:// se manca

  1. #1
    ig96net non è connesso Neofita
    Data registrazione
    31-12-2011
    Messaggi
    17

    Question [php] Inserire http:// se manca

    Salve a tutti...
    sto realizzando uno script che accorcia i link.
    Ho inserito questo codice in modo che se un utente non scrive http:// lo scrive in automatico
    Codice PHP:
    $url=(strpos($url,"http://")===false)?"http://".$url:$url
    Purtroppo, però, se uso il protocollo https:// oppure ftp:// mi scrive http://https://www.ilmiosito.it/

    Come posso risolvere questo problema?
    Spero di essermi spiegato bene

  2. #2
    Guest

    Predefinito

    E' molto semplice :) Ho cercato di fare lo script nel modo più compatto possibile così non occupa troppo spazio rallentando il sistema.

    Codice PHP:
    $iniziali=array("http://","https://","ftp://");
    $stop=false;
    foreach(
    $iniziali as $prot){ if( strpos($url,$prot)===true ){ $stop=true; } }
    if(!
    $stop){ $url="http://".$url; } 
    In questo modo se ha un pezzo iniziale di quelli che hai inserito non fa niente, altrimenti gli aggiunge http:// . Ovviamente non puoi immaginare cosa voleva inserire l'utente, quindi io inserireri http:// che è quello più usato
    Ultima modifica di projectFede : 09-05-2012 alle ore 19.43.15

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    5,950

    Predefinito

    Se vuoi che "occupi poco spazio", inutile usare un foreach (più lento di for o while), tre chiamate a funzione (lente), nonché le stringhe con i doppi apici (lente perché possono contenere variabili):
    Codice PHP:
    $url preg_match('#^(ftp|https?)://#'$url) ? $url 'http://' $url
    L'espressione regolare sopra controlla se all'inizio della stringa ( ^ ) ci sono ftp oppure ( | ) http, seguito da una s opzionale ( ? ), seguiti a loro volta da ://.
    Ultima modifica di dreadnaut : 09-05-2012 alle ore 22.28.09
    chezDreadnaut
    "Un <BR/> è impuro, punto."
    "I <P>&nbsp;</P> non hanno diritto di esistere."

  4. #4
    ig96net non è connesso Neofita
    Data registrazione
    31-12-2011
    Messaggi
    17

    Talking Perfetto!

    Grazie a tutti! Alla fine ho usato il codice che ha dato dreadnaut! GRAZIE! funziona perfettamente!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •