Visualizzazione dei risultati da 1 a 6 su 6

Discussione: preg_replace

  1. #1

    preg_replace

    CIao!

    ho bisogno di convertire:

    Quote Originariamente inviata da utente
    testo
    in un'altro, ad esempio:
    "utente dice testo"


    ho provato a fare il primo pezzo di espressione, ma non so come aggiungere il codice per ricavare anche testo.


    Codice PHP:

    $testo 
    '[QUOTE="utente"]testo[/QUOTE]';


    $return preg_replace('/\[quote=\"(.+?)\"\]/is''$1'$testo);


    //attuale output: utentetesto[/QUOTE] 
    RAGAZZI IL CODICE NN SI VISUALIZZA CORRETTAMENTE, DOVETE QUOTARLO

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Prova così:
    codice:
    $testo = '
    
    Quote Originariamente inviata da utente
    testo
    '; echo preg_replace('/\[quote=\"(.+?)\"\](.+?)\[\/quote\]/is', '\\1 dice \\2', $testo);

  3. #3
    funziona, grazie mille!
    mi sapresti spiegare cosa significa l'ultimo pezzo dell'espressione regolare: /is

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    i - indica che il riconoscimento avverrà senza distinzione tra lettere maiuscole e minuscole.

    s - con questo modificatore, il carattere . indicherà tutti i caratteri possibili, compreso il carattere di "a capo" (newline).



  5. #5
    thanks a lot!

  6. #6
    ah un'altra cosa:

    se mi capita di dover fare delle espressioni regolari annidate per esempio:

    Quote Originariamente inviata da Fla

    Quote Originariamente inviata da altro utente
    testo bella di padella

    non mi funge correttamente, per la precisione mi fa così:

    Quote Originariamente inviata da Fla
    ***riconvertito

    Quote Originariamente inviata da altro utente
    **ignorato
    testo bella di padella ]**ignorato
    **riconvertito
    **ingorato


    c'è un modo che almeno mi permetta di controllare se ci sono dei quote annidati in modo da saltarli? oppure è possibile modificare l'espressione in modo da sistemarla?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.