[gl-como] php: bbcode+regexb && caratteri speciali

redshadow redshadowhack@gmail.com
Gio 4 Gen 2007 17:37:07 CET


un paio di domandine se a qualcuno è già capitato il problema..

mi servirebbe un consiglio su come scrivere in php una funzione per
convertire tutti i caratteri
speciali inviati in un modulo in codici html e una per convertire tag bbcode
in html..


per la prima:
ho provato cose tipo
for ( $i=128 ; $i<=255 ; $i++ ) $text = str_replace ( chr($i) , "&#$i;" ,
$text );
ma senza successo, cioè non viene sostituito nulla..
mentre
$text = str_replace ( "è" , "&#232;" , $text );
funziona, ma implicherebbe 127 righe di codice..


per la seconda:
una possibilità che ho usato per [b]testo[/b] => <b>testo</b>
$text = str_replace ( "[b]" , "<b>" , $text );
$text = str_replace ( "[/b]" , "</b>" , $text );
..che per funzionare funziona, ma già così ha qualche svantaggio, tipo che
si può lasciare
un <b> aperto e riformattare tutto il testo dopo..
con cose tipo
$text = str_replace ( "[img]" , "<img src='" , $text );
$text = str_replace ( "[/img]" , "'>" , $text );
ancora peggio, se un malintenzionato mettesse [img]immagine.jpg'
width='1000%[/img]...
quindi mi pongo la domanda: si può fare una regexp che sostituisce solo se
ci sono
tutti i delimitatori necessari (anche più di due in certi casi..)?

e per [link]www.miosito.net[/link] => <a href="www.miosito.net">
www.miosito.net</a>?
cioè, un sistema per prendere del testo incluso tra delimitatori e
sostituirlo inserendolo
due volte nel testo finale..?

-------------------------------------------------------------------------------------------------------------------------------------------------
"UN COMPUTER SENZA WINDOWS È COME UNA TORTA AL CIOCCOLATO SENZA DENTIFRICIO"
-------------------------------------------------------------------------------------------------------------------------------------------------
~-=§#°]}★☢ReDShadoW☠★{[§#§=-~
http://www.hackzine.altervista.org
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.linux.it/pipermail/gl-como/attachments/20070104/5060473d/attachment.htm


Maggiori informazioni sulla lista gl-como