Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Eliminare Porzioni di Testo Indesiderate

    Salve,
    prelevo il corpo di alcuni messaggi dal forum per il sito, utilizzo questo codice, ma non sempre va bene.. Come mai? Ci sono soluzioni migliori? Grazie..
    Codice PHP:
                        for($i 0$i 10$i++){
                            
    $parte0 substr($descrizionestrpos($descrizione"["));
                            
    $parte1 substr($parte00strpos($parte0"]"));
                            
    $parte trim(str_replace("["""$parte1));
                            
    $descrizione str_replace($parte''$descrizione);
                        }
                        
    $descrizione str_replace("["""$descrizione);
                        
    $descrizione str_replace("]"""$descrizione); 

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    "non sempre va bene" che vuol dire?
    Cosa dovrebbe fare quel codice? Cosa succede invece quando "non va bene"?
    Esempio di input che genera il "non va bene"?

  3. #3
    Esempio di input che genera l'errore:
    [attachment=2564] [size=x-large][size=large][size=small][size=medium][i]Gentile Utente, Chorse è
    Che diventa:
    size=x-largesize=largesize=smallsize=mediumiGentile Utente, bChorse/b è orgoglioso di
    Evidentemente perchè ci sono più di un riscontro di parentesi quadre.. Ci sono altre soluzioni al problema?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    usa le espressioni regolari e sostituisci la parte con le quadre con "" usando preg_replace()
    un pattern da usare potrebbe essere una cosa tipo "/(\[.*?\])/"

  5. #5
    Quote Originariamente inviata da clasku Visualizza il messaggio
    usa le espressioni regolari e sostituisci la parte con le quadre con "" usando preg_replace()
    un pattern da usare potrebbe essere una cosa tipo "/(\[.*?\])/"
    Mi spieghi meglio per favore?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    devi fare una cosa tipo questa

    Codice PHP:
    $stringa "[attachment=2564] [size=x-large][size=large][size=small][size=medium][i]Gentile Utente, [b ]Chorse[ /b] è";

    $pattern "/(\[.*?\])/";

    $stringa_ripulita preg_replace($pattern""$stringa); 

  7. #7
    Quote Originariamente inviata da clasku Visualizza il messaggio
    devi fare una cosa tipo questa

    Codice PHP:
    $stringa "[attachment=2564] [size=x-large][size=large][size=small][size=medium][i]Gentile Utente, [b ]Chorse[ /b] è";

    $pattern "/(\[.*?\])/";

    $stringa_ripulita preg_replace($pattern""$stringa); 
    Perfetto.. Non sapevo si potesse usare il regex nell'str_replace.. Grazie

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    La funzione è preg_replace, non str_replace...

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.