Archive

Archive for the ‘Tutorial’ Category

Convertitore bbcode to html

November 23rd, 2009 Logan No comments

Quante 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!

Categories: PHP Tags: , , , , ,

Eliminare Tag HTML in una stringa

November 23rd, 2009 Logan No comments

Spesso 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

October 20th, 2009 Logan No comments

Ho 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:

  1. Javascript per l’aggiunta di una palette di selezione colori con anteprima
  2. Javascript per il controllo dei campi dati inseriti.

Questa è un anteprima della palette per l’inserimento dei colori:

Palette Colori

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

Inserimento dati

Read more…

Vista ed XP non si vedono un una LAN

October 17th, 2009 Logan No comments

Può accadere che si voglia installare una rete domestica nel proprio appartamento, ad esempio per chi come me possiede un portatile ed un PC fisso, avere una rete lan sicuramente è un vantaggio soprattutto per poter scambiare rapidamente i file.
Con Windows Vista e Windows XP spesso però, non è molto facile permettere ai due computer di essere visibili nella mappa di rete. Dopo un po’ di ricerche e soprattutto facendo un po’ di considerazioni personali, sono riuscito ad arrivare ad una soluzione ovvia che vi illustrerò di seguito, in modo che anche voi possiate creare la vostra lan e risolvere i problemi di compatibilità tra Vista ed XP.

Consultando il sito della Microsoft, sono venuto a conoscenza che il problema non è legato a Vista, ma ad XP, che a quanto pare, non implementa il protocollo LLTD indispensabile a Vista per l’utilizzo della rete e la stesura della relativa mappa, quindi, otterremo l’ormai triste fenomeno di avere XP che visualizza Vista ma non il contrario.

Come risolvere il problema?

Semplice, la Microsoft a questo indirizzo, mette a disposizione un semplice fix che permette a XP di comunicare con Vista e quindi di implementare la rete in modo semplice e rapido.
Tutto quello che dovrete fare, è scaricare il fix che vi verrà inviato via e-mail con tanto di codice per decomprimerlo, installarlo, riavviare il PC e, a meno di firewall, Vista ed XP si vedranno vicendevolmente consentendo l’installazione di una LAN.

Questa è la semplice risoluzione ad un problema che attanaglia ormai molti.

Ovviamente, va detto per completezza, che Windows, sia XP che Vista, può essere protetto da un firewall che potrebbe richiede l’apertura di determinate porte per poter effettuare lo scambio di messaggio tra i due o più terminali.
Le porte in questione sono: 137 – 138 – 139 – 445
Queste regole solitamente nel Windows Firewall sono già aggiunte come eccezioni, ma ovviamente, non tutti i firewall le hanno preimpostate.
E’ buona norma quindi quella di controllare sempre, in caso di malfunzionamenti quali:

1. Vista vede XP ma non il contrario
2. XP Vede Vista ma non il contrario
3. XP e Vista si vedono ma non trovano il percorso di rete nel trasferire i file

che nel proprio firewall su ogni PC siano aggiunte le dovute regole.

Dato che il mondo firewall è vasto, non tratterò in questo articolo nello specifico il come aprire le porte, ma eventualmente lo farò in articoli successivi.

A presto!

Categories: Tutorial Tags: , , , , ,

Profile Image Fix

October 1st, 2009 Logan 1 comment

Quello 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, 28 hits)

Categories: PHP, Tutorial Tags: