Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Codifica e decodifica delle URL :: Indice Php

Codifica e decodifica delle URL

Categoria: Php Inserito il: 02-03-2006 Stampa (7222 click)

Come ben sanno coloro che lavorano anche da poco tempo nella creazione e gestione delle pagine web, le URL, per poter essere accettate e utilizzate dai browsers devono avere una morfologia particolare, sono cioè prodotte universalmente secondo uno standard predefinito.

PHP ci mette a disposizione alcune funzioni utili alla codifica e alla decodifica delle URL per agevolare il nostro lavoro di webmastering.

Le prime due funzioni che proponiamo sono rawurlencode() e rawurldecode(). La prima restituisce una stringa in cui tutti i caratteri non alfanumerici (escluso l'underscore) vengono sostituiti con il simbolo percentuale ("%"); per cui potremmo proporre un esempio del genere:

<? 
$stringa = 'url non standard';
$stringa_codificata = rawurlencode($stringa);
echo $stringa_codificata;
?>
L'output ottenuto sarà la stringa passata come argomento alla funzione in cui gli spazi vuoti vengono sostituiti dal simbolo percentuale:
url%20non%20standard
Ora il lettore, non avrà certo difficoltà nell'intuire che l'effetto di un listato simile al seguente:
<? 
$stringa = 'url%20non%20standard';
$stringa_decodificata = rawurldecode($stringa);
echo $stringa_decodificata;
?>
sarà quello di produrre in output la stringa precedentemente sottoposta all'azione di codifica.

urlencode() e urldecode() svolgono una funzione molto simile a quella delle due funzioni precedentemente descritte, il lettore potrà agevolmente sostituirle con queste ultime ed osservarne gli effetti.

Nel primo caso, sostituendo rawurlencode() con urlencode() avremo in ouput la stringa seguente:
url+non+standard
che passata all'azione di decodifica svolta da urldecode() produrrà un output identico a quello risultante dall'azione di rawurldecode().

L'inserimento del simbolo "+" negli spazi vuoti è dovuto ad una diversa tipologia di codifica, per le prime due funzioni infatti viene utilizzato l'encoding RFC1738, mentre per le seconde viene utilizzata la tipologia chiamata "application/x-www-form-urlencoded media type".

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Le novità di MySQL 5: Le Stored Procedures
Dal miglioramento di un DBMS, l'utilizzatore si aspetta in particolare innovazioni riguardanti la velocità e la semplicità nell'allocare e poter... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti