
Convertitore bbcode to html
Posted by Logan in PHP on 11 23rd, 2009Quante volte abbiamo avuto bisogno di avere un semplice convertitore di BBCODE in HTML?
Il BBCODE è una realtà ed è ampiamente utilizzato in quasi tutte le communiti ed i siti per vari motivi che variano dalla semplicità d’uso alla sicurezza stessa di un sito.
Tuttavia realizzare un convertitore non è poi una cosa semplicissima.
Esistono svariate soluzioni, javascript, php, ma io ve ne mostrerò una molto semplice che usa degli array ed uno string replace in PHP.
Ovviamente se affiancherete questa funzione con strumenti migliori di sicurezza, quale la strip_tags vista precedentemente, non farete altro che migliorare la sicurezza del vostro sito.
Ecco la funzione che vi permetterà di effettuare la conversione:
function bb2tohtml($testo){
$bbcode = array("<", ">",
"[list]", "[*]", "[/list]",
"[img]", "[/img]",
"[b]", "[/b]",
"[u]", "[/u]",
"[i]", "[/i]",
'[color="', "[/color]",
"[size=\"", "[/size]",
'[url="', "[/url]",
"[code]", "[/code]",
'"]');
$html = array("<", ">",
"<ul>", "<li>", "</ul>",
"<img src=\"", "\">",
"<b>", "</b>",
"<u>", "</u>",
"<i>", "</i>",
"<span style=\"color:", "</span>",
"<span style=\"font-size:", "</span>",
'<a href="', "</a>",
"<code>", "</code>",
'">');
$testo = str_replace($bbcode, $html, $testo);
$testo = nl2br($testo);
return $testo;
}
Molto semplice da implementare. basta inserirla nei vostri script e richiamarla, penserà a tutto lei.
Ovviamente potrete aggiungere nuovi tag bbcode semplicemente aggiungendo nuovi elementi nell’array ma badate bene, le posizioni del tag HTML e quello BBCode all’interno dell’array, devono coincidere!
read comments (0)Eliminare Tag HTML in una stringa
Posted by Logan in PHP on 11 23rd, 2009Spesso succede che ci troviamo nella condizione di dover filtrare le stringhe che si ricevono attraverso degli input in modo tale che queste non contengano al loro interno del codice dannoso.
Una delle solite soluzione è l’utilizzo di espressioni regolari che servono a filtrare i caratteri speciali HTML in modo tale che questi possano essere eliminati.
Tuttavia usare le espressioni regolari implica il saperle consocere non che, alle volte, si rende necessario abilitare l’HTML solamente per alcune specifiche tag.
Tutto questo richiederebbe un lavoro non indifferente di filtraggio che può essere svolto attraverso la praticissima funzione massa a disposizione da PHP, parliamo di strip_tags.
Vediamo un esempio:
Supponiamo di avere una stringa e di questa volessimo rendere disponibili per HTML solamente alcuni comandi. per farlo dovremmo quindi impostare un filtro.
La stringa che verrà quindi filtrata, vedrà essere eliminati tutti quei tag HTML che non rientrano nel filtro dei consentiti.
Ad esempio se volessimo che gli unici tag utilizzabili fossero:
<font><img><p><b><i><u><li><ul><br>
Dovremmo fare così:
$Testo=strip_tags($Testo,'<font><img><p><b><i><u><li><ul><br>');
Che significa: sulla stringa contenuta in testo, elimina tutti i TAG HTML che non siano quelli forniti come parametro.
Se applicassimo questo comando PHP ad una stringa come in questo esempio:
$Testo="<font color='#444000'>Ciao mondo</font><br><br><img src='http://www.zengfx.net/signage/Mila_Kunis_Sign_by_LoganDTR.jpg' /> <br><a href='blog.zengfx.net'>blog</a>"; $Testo=strip_tags($Testo,'<font><img><p><b><i><u><li><ul><br>'); echo $Testo;
Il risultato sarà esattamente la stringa offerta in HTML meno il link al blog contenuto nel tag a che sarà rimosso lasciando solo la scritta semplice “blog”.
MixPod Patch 2.0
Posted by Logan in JavaScript, PHP, SQL, Tutorial on 10 20th, 2009Ho aggiornato la versione del lettore mp3 mixpod.com con nuove interessanti novità senza contare dei controlli aggiuntivi che lo rendono molto più pratico all’uso per gli utenti meno esperti.
Le aggiunte che sono state fatte sono le seguenti:
- Javascript per l’aggiunta di una palette di selezione colori con anteprima
- Javascript per il controllo dei campi dati inseriti.
Questa è un anteprima della palette per l’inserimento dei colori:

Ed invece qui un anteprima del form di inserimento dei dati per il lettore:

Profile Image Fix
Posted by Logan in PHP, Tutorial on 10 1st, 2009Quello che spesso succede nei codici OS è che mancano alcune rifiniture che rendono esteticamente più bello il nostro sito.
Uno dei problemi del GDR/CD è che usando il BBCode le immagini nel profilo non possono essere limitate. Questo FIX si occupa molto semplicemente di ridimensionare le immagini qualora superino la dimenzione prefissata dall’amministratore.
I file da modificare sono: open2.php e main.css
Come sempre su base GDR/CD Extented ma va benissimo anche per versioni precedenti.
open2.php
Apriamo il file ed andiamo alla riga 47 e sostituire
$testo=str_replace("[/img]","' border=0>",$testo);
Con:
$testo=str_replace("[/img]","' ID='scheda'/>",$testo);
andate alla riga 82 e sostituire:
$testo=str_replace("[/IMG]","' border=0>",$testo);
Con:
$testo=str_replace("[/IMG]","' ID='scheda'>",$testo);
main.css
Semplicemente andate alla fine del file ed aggiungete la classe CSS che vi permetterà di gestire le immagini all’interno del profilo della scheda:
img#scheda{
max-width:500px;
width:expression(this.width > 500 ? 500: true );
}
Finito, comunque metterò i due file in download per ogni evenienza. Sono testati e funzionanti.
Un saluto ed a presto!
Profile Image Fix (1.9 KiB, 74 hits)
Flash Avatar
Posted by Logan in PHP, Tutorial on 10 1st, 2009Questo nuovo plug-in veramente molto semplice, permetterà di personalizzare ancora di più il vostro GDR/CD Extended.
Molto probabilmente il codice funzionerà anche sulle versioni precedenti dato che la modifica apportate sono davvero irrisorie.
Cosa fa?
Questo plug-in, senza alcuna modifica al database, permette di inserire nelle schede degli avatar realizzati in flash.
Come si installa?
L’installazione è davvero molto semplice e prevede una sola singola modifica al file scheda.php. Andiamo a vedere quale:
Andate alla riga 332 e sostituite questo codice:
<img width=200 height=200 src="<?= $UrlImg ?>" border="2" bordercolor="brown">
Con questo:
<?
$ext = strtolower(substr($UrlImg,strlen($string)-3,3));
if ($ext=="swf"){
?>
<embed src="<?= $UrlImg ?>" quality="high" wmode="transparent" width="200" height="200" name="avatar" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
<?
}
else{
?>
<img width=200 height=200 src="<?= $UrlImg ?>" border="2" bordercolor="brown">
<? } ?>
Inutile dirvi che potrete personalizzare il codice come meglio crediate.
Le dimensioni degli avatar da me sono state fissate a 200×200 ma ovviamente, sta a voi adattarle alle vostre esigenze.
A presto!
Flash Avatar (6.6 KiB, 81 hits)

