Visualizzazione risultati 1 fino 9 di 9

Discussione: Togliere spazi nell'url

  1. #1
    Guest

    Predefinito Togliere spazi nell'url

    Avendo messo nel textarea la possibilità di rendere linkabile un'url si presenta il problema di togliere eventuali spazi interni ad esso.

    Ho messo str_replace e funziona ma toglie gli spazi anche dal testo

    Codice PHP:
    $messaggio = str_replace(" ", "", $messaggio);

    //Rende linkabile un'url automaticamente nel TEXTAREA
    $messaggio = preg_replace('/((http(s)?:\/\/)|(www\\.))((\w|\.)+)(\/)?(\S+)?/i','<a class="EmUr1" href="\0">\0</a>',$messaggio);
    $messaggio = str_replace("www.","http://www.",$messaggio);
    $messaggio = str_replace("http://http://","http://",$messaggio);
    if (
    strpos($url, 'http') === false) $url = "http://$url"; //Permette di aprire l'url inserito dal visitatore nel campo "MESSAGGIO" (cioè, non mette davanti al suo url quello del mio sito
    )

  2. #2
    Guest

    Predefinito

    Scusa, ma stai chiedendo di togliere eventuali spazi interni ad un url?
    Ma un url non può contenere spazi bianchi!


    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Scusa, ma stai chiedendo di togliere eventuali spazi interni ad un url?
    Ma un url non può contenere spazi bianchi!


    Ciao!
    Lo so, ma metti che per sbaglio l'utente sbaglia a digitarlo, capisci?

  4. #4
    Guest

    Predefinito

    Eh, e allora cosa vuoi correggere?
    Mica puoi sapere quale errore ha commesso!
    Con cosa lo vuoi sostituire? Qualsiasi carattere tu inserisci al posto dello spazio potrebbe essere errato.


    Ciao!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Eh, e allora cosa vuoi correggere?
    Mica puoi sapere quale errore ha commesso!
    Con cosa lo vuoi sostituire? Qualsiasi carattere tu inserisci al posto dello spazio potrebbe essere errato.


    Ciao!
    Quello che vorrei fare è che se l'utente lascia incautamente spazi bianchi nell'url il codice li toglie in automatico.

    Per l'email cè l'ho già ma per il textarea è diverso perchè l'utente può inserire parole, frasi, ecc.

  6. #6
    Guest

    Predefinito

    semplicemente non puoi.
    perchè quello che delimita la fine di un url è proprio lo spazio (a meno che tu non voglia usare delle tag) quindi non puoi sapere se quello spazio è proprio la fine dell'url o un errore.
    esempio:
    Codice:
    il mio esempio http://inverno.altervista.org/sotto cartella  (in realtà non esiste)

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Inverno Visualizza messaggio
    semplicemente non puoi.
    perchè quello che delimita la fine di un url è proprio lo spazio (a meno che tu non voglia usare delle tag) quindi non puoi sapere se quello spazio è proprio la fine dell'url o un errore.
    esempio:
    Codice:
    il mio esempio http://inverno.altervista.org/sotto cartella  (in realtà non esiste)
    Mi sembra strano che non si può, basterebbe un codice che dice: se è un'url (http:// o www.) togli gli spazi bianchi da "/^... a...$/"

  8. #8
    Guest

    Predefinito

    ok, ma dimmi come fai a capire dove sta la fine dell'url ?

    mi spiego: il pattern per l'inizio di un url è http(s):// o www , ma quello per la fine ?
    Ultima modifica di Inverno : 23-12-2008 alle ore 18.31.32

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da Inverno Visualizza messaggio
    ok, ma dimmi come fai a capire dove sta la fine dell'url ?
    Ill codice che valida l'url è questo, in questo caso è '/.../i'

    $messaggio = preg_replace('/((http(s)?:\/\/)|(www\\.))((\w|\.)+)(\/)?(\S+)?/i','<a class="EmUr1" href="\0">\0</a>',$messaggio);

Regole di scrittura

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