Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    [URL] e preg la prima avventura

    Salve..
    finalmente ho deciso di avventurarmi nel FANSTASTICO MONDO DELLE PREG (per citare un film)

    In particolare volevo rendere i tag di un forum [URL ] o [url ] e il tag di chiusura, dei collegmenti..

    Dunque pensandoci su mi sono detto devo fare distinzione tra [url ]www.sito.it[/url ]
    (o anche http://www.sito.it)
    che creerà un collegamento a www.sito.it
    e la differenza tra:
    COLLEGAMENTO
    che creerà un collgamento al sito sulla parola COLLEGAMENTO
    (chiaramente i tag devono essere uniti i gli ho scritti staccati pernon farli interpretare dal forum)

    Buttando giù (pillola di ferrot alla mano) qualcosa stavo facendo delle prove ma ho bisogno di voi...

    Quindi pensavo di iniziarein questo modo:
    [code]
    $stringa:"/(\
    Questo per controllare che nel testo ci sia
    e prima di o ?
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  2. #2
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    codice:
    $str= "/(\[ur l=|\[UR L=).\]/";
    $replace="/(\<a href=).\>/";
    $testo="[ur l=www.miosito.it]clicca e godi[ /url]";
    preg_replace($str, $replace, $testo);
    Quante corbellerie ci sono?
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    codice:
    $str= "/\[url=|\[URL=/";
    $replace="<a href='";
    $testo="[ur l=www.miosito.it]clicca e godi[/url ]";
    $stringa=preg_replace($str, $replace, $testo);
    Ho modiicato un po' perchè non andava.. ma continua a comportarsi in maniera strana.. cos'è che sbaglio?
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $testo="[url =www.miosito.it]clicca e godi[/ url]";
    $str="/(\[url=)(.+)(\])(.+)(\[\/url\])/";
    $replace="<a href=\"http://$2\">$4</a>";
    echo preg_replace($str,$replace,$testo);
    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Grazie ma per capire...

    (.+) che vuol dire?

    e poi $2 e $4 rappresentano qualche posizione di porzioni di testo all'interno della preg?

    come vengono definite?
    Grazie per la dritta
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    . qualsiasi carattere
    + 1 o più occorrenze

    $2 e $4 rappresentano rispettivamente il 2° ed il 4° match...


    se vuoi maggiori info: http://php-manuale.promagna.com/pcre...rn.syntax.html
    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da marketto
    . qualsiasi carattere
    + 1 o più occorrenze

    $2 e $4 rappresentano rispettivamente il 2° ed il 4° match...


    se vuoi maggiori info: http://php-manuale.promagna.com/pcre...rn.syntax.html
    Grazie mille perfetto...
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  8. #8
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Dunque una ulteriore modifica...
    Volevo rendere un po' più particolare questa funzione...
    nel senso che, in questo caso, ho dei problemi con l'http:
    cioè.. se l'utente inserisce un indirizzo completo di http:// io rimango fregato.. allora volevo creare anche una alternativa...

    Cio se http:// lo modifcasse lo stesso
    allora avevo provato a mettere:
    codice:
    $str="/(\[ur l=)(.+)(\]|\[ur l= htt p:\/\/)(.+)(\[\/url\])/";
    Ma deve esserci qualche ragionamento del preg engine che io mi perdo...

    allora avevo provato seguendo questo esempio:

    originariamente postato da ferrot
    “/a(?=b)/”:
    come risultato avremo “a” (un solo riscontro) perché ho chiesto all’engine di trovare l’atomo ‘a’ seguito dall’asserzione ‘b’, l’atomo ha peso 1 l’asserzione ha peso 0, quindi facendo le somme dei pesi la preg ha peso totale 1 e quindi se riscontrata restituisce 1 carattere.
    “/a(?=.)/:
    preso DALLA SUA PIPPOLA

    codice:
    $str="/(\[url=(?=http\:\/\/))(.+)(\])(.+)(\[\/url\])/";
    Ma anche questo non va.. mi sapete dire perchè sbaglio, che ragionamento mi perdo, e mi sapete dire come ovviare?

    Grazie mille
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  9. #9
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788

    una uppatina..
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  10. #10
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da Inoki

    una uppatina..
    Nessuno che mi dice dove sbaglio?
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

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.