Cambiamento in automatico della formattazione.
Cambiamento in automatico della formattazione. postato il 16/03/2010 23:25:54 nel forum programmazione, open source e hosting
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:
<passeggia per i campi di granturco> trallallero trallallà
quindi invia in automatico il messaggio diventando così:
<passeggia per i campi di granturco>trallallero trallallà
Pagine → 1
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
rosanera ha scritto:
Sarai pure scrupoloso ma apri un post per ogni minimo problema incontrato, :S sembri poco volenteroso, mettiti a giocare con il codice per imparare cose nuovem e cerca tutorials in internet.
Allora due cose sul perchè la premessa della tua risposta mi sembra fuoriluogo...
Non mi sembra di aver impostato il thread in modo da sembrare poco volenteroso..della serie "qual'è il codice? me lo scrivete così lo copincollo?" Poi perdonami rosanera, ma non credi che forse anche qualcun altro che si finge, come me, un programmatore si sta ponendo lo stesso problema...e che forse proprio grazie a questo thread l'avrà risolto(due piccioni con una fava)?
Smanettare con il codice senza nemmeno avere delle indicazioni da persone competenti (come voi) mi sembra, sì, una perdita di tempo (a rischio di sembrare poco volenteroso, eh!)..soprattutto se poi sono costretto a spiegare il perchè posto "molto spesso" (lo ammetto) cose che per voi sembrano del tutto pleonastiche.
Lungi dal fare un botta e risposta, e sicuro del fatto che saprai rispondermi a tono, continuando così ad libitum e rimanendo, alla fine, degli stessi pareri..andiamo al sodo.
Vi ringrazio tutti,
in particolare dyrr..avevo considerato anche io la funzione str_replace()...mi chiedevo per l'appunto se ci fosse anche una valida alternativa...come ci hai tenuto a sottolineare tu...un pò più completa...come l'altra funzione in cui si "attiva" lo style italic solo se la frase, nella fattispecie, viene aperta e chiusa dall'angolare.
Grazie a tutti,
al prossimo dubbio!
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
dyrr ha scritto: 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)
Davvero molto interessante. Non ne avevo mai sentito parlare. Devo ammettere che aprire questo thread mi è stato molto d'aiuto. Grazie a tutti.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
CRSED: F.O.A.D. ↗
World of the Sea Battle ↗
Foundation Galactic Frontier ↗
Tiles Survive ↗