Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP]Espressioni regolari

  1. #1
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito [PHP]Espressioni regolari

    Non ho voglia di cimentarmi nelle espressioni regolari, che conosco ma che temo
    Qualcuno mi può dare il codice per sostituire in un testo tutte le immagini (tag immagine aperto e chiuso), e lo stesso per i link
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  2. #2
    Guest

    Predefinito

    Intendi fare una cosa stile bbcode?
    Codice PHP:
    $txt = preg_replace( "#\[img\]((http://|www.|ftp.)[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[\/img\]#is", "<img src=\"\\1\" border=\"0\">", $txt);
    //E per i link
    $txt = preg_replace( "#\[url\]((www.|ftp.)[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is", "<a href=\"http://\\1\" target=\"_blank\">\\1</a>", $txt);
    Oppure riconoscere un url?
    Codice PHP:
    $txt = preg_replace("#(^|[\n ])((http://|www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $txt);

  3. #3
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Qualcosa di più semplice,
    Se trova un "<img src=...>" lo sostituisce in "[immagine]" così come l'ho scritto.
    Se trova "<a href=...>TestoLink</a>" lo sostituisce in "[TestoLink]"

    probabilmente quacosa del genere
    <img [^>]*?>
    <a [^>]*?>.*?</a>

    Andrebbero bene queste?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  4. #4
    Guest

    Predefinito

    Codice PHP:
    $testo = preg_replace("#<img .*?>#is", '[IMMAGINE]', $testo);
    $testo = preg_replace("#<a .*?>(.*?)<\/a>#is", "$1", $testo);
    prova cosi...
    Ultima modifica di jostock : 26-04-2006 alle ore 12.01.42

  5. #5
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Grazie, dopo provo.
    Cmq a cosa serve il cancelletto # e #is?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da jostock
    Codice PHP:
    $testo = perg_replace("#<img .*?>#is", '[IMMAGINE]', $testo);
    $testo = perg_replace("#<a .*?>(.*?)<\/a>#is", "$1", $testo);
    prova cosi...
    Scusa se ti correggo ma la funzione è preg_replace e non perg_replace: errore di battitura.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    sorry, ho corretto!

  8. #8
    Guest

    Predefinito

    Il cancelletto indica inizio e fine dell'espressione, i che deve essere insensibile alle maiuscole e s che riconosca anche stringhe che si articolano su più righe.

Regole di scrittura

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