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%20standardOra 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.
url+non+standardche passata all'azione di decodifica svolta da urldecode() produrrà un output identico a quello risultante dall'azione di rawurldecode().