Cambiamento in automatico della formattazione. postato il 16/03/2010 23:25:54 nel forum programmazione, gdrcd e open source
Salve a tutti.
Sto cercando di capire come è possibile cambiare, in maniera automatica, la formattazione del testo nel momento in cui vengono inserite ad esempio delle parentesi angolari.
Visto che sono scrupoloso e spesso ostruso spiegerò meglio la problematica con un esempio.
L'utente digita la seguente frase:
Pagine → 1
17/03/2010 09:37:43
devi definirti un'espressioncina regolare che sostituisca la coppia < > con <span class="quel che ti pare"> e </span>
17/03/2010 09:58:58 e modificato da dyrr il 17/03/2010 10:00:37
Di base puoi usare due sistemi:
Il primo usando la funzione str_replace() per sostituire al tag di apertura '<' il tag seguito dall'inizio formattazione del testo '<<i>' e al tag di chiusura '>' il tag seguito dalla chiusura della formattaione '</i>>'.
Il secondo metodo si può fare usando la funzione preg_replace() e una semplice espressione regolare per dire di sostituire tutto quello che è dentro i tag '<>' con '<<i></i>>'
entrambi i metodi fanno la cosa che ti serve ognuna con i suoi pro e contro riguardo alla velocità di esecuzione della funzione e al controllo o meno se un tag aperto è poi chiuso.
Ti conviene darti un'occhiata su php.net ad entrambe le funzioni e vedere quella che può andare meglio.
personalmente preferisco la seconda opzione in quando esegue la sostituzione solo se esiste una chiusura del tag senza dover fare la verifica con l'utilizzo di alte funzioni
17/03/2010 15:48:20
17/03/2010 17:40:02
se vuoi una alternativa che controlli l'aperura e la chiusure delle parentesi angolari e ne sostituisc ail testo solos e sono state aperte e chiuse correttamente è la funzione preg_replace() abbinata ad una piccola regex (o espressione regolare come la vuoi chiamare)
17/03/2010 18:49:01
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Articolo → Tip4Serv: il sistema di donazioni per giochi online!