Conversione Caratteri speciali per URL

magonicola

Nuovo Utente
20 Mar 2010
6
0
0
Ciao,

sò che l'argomento non è nuovo ma non riesco proprio a capire come gestire i caratteri speciali nelle URL. Nessuna funzione per ora ha fatto quello che mi serve. Dovrei convertire una stringa del tipo (NON è un esempio, anche se sembra una stringa stranissima):

PHP:
http://stidue.net/fotovoltaico/pròvà+fòldèér/àèéìòù§^#@ç°+-() !£$%&|.txt

nella seguente (unica forma riconoscibile da tutti i browser)

PHP:
http://stidue.net/fotovoltaico/pr%c3%b2v%c3%a0+f%c3%b2ld%c3%a8%c3%a9r/%c3%a0%c3%a8%c3%a9%c3%ac%c3%b2%c3%b9%c2%a7%5e%23@%c3%a7%c2%b0+-()%20!%c2%a3$%25&%7c.txt

Ho appositamente messo molti caratteri speciali così da coprire quasi tutti i casi possibili.

Mi potete aiutare?

Grazie mille...
 
grazie.

ho appena scritto che NON funziona bene (basta vedere il link tinyurl postato prima)

Sto impazzendo...
 
Questo funziona. Usando rawurlencode al posto di urlencode, che converte lo spazio come "%20" e non come "+" (il carattere "+" usato come spazio è valido solo nelle query_string, es. index.php?id=casa+mia).

PHP:
$string = "stidue.net/fotovoltaico/pròvà+fòldèér/àèéìòù§^#@ç°+-() !£$%&|.txt";

$parts = explode("/", $string);

foreach($parts as &$part) {
	$part = rawurlencode(utf8_encode($part));
}

echo "<p>" . strtolower(implode("/", $parts)) . "</p>";
 
Ti amo tanto tanto :)

Pare che questa funzioni, non ne sono certo ma credo sia la soluzione a tutti i nostri mali :)

Ti tengo aggiornato...

Grazie ancora!

PS: avevo fatto sia il raw che l'utf8 ma mi mancava l'uno dentro l'altro haha
 
Ciao,

sò che l'argomento non è nuovo ma non riesco proprio a capire come gestire i caratteri speciali nelle URL. Nessuna funzione per ora ha fatto quello che mi serve. Dovrei convertire una stringa del tipo (NON è un esempio, anche se sembra una stringa stranissima):

PHP:
http://stidue.net/fotovoltaico/pròvà+fòldèér/àèéìòù§^#@ç°+-() !£$%&|.txt

nella seguente (unica forma riconoscibile da tutti i browser)

PHP:
http://stidue.net/fotovoltaico/pr%c3%b2v%c3%a0+f%c3%b2ld%c3%a8%c3%a9r/%c3%a0%c3%a8%c3%a9%c3%ac%c3%b2%c3%b9%c2%a7%5e%23@%c3%a7%c2%b0+-()%20!%c2%a3$%25&%7c.txt

Ho appositamente messo molti caratteri speciali così da coprire quasi tutti i casi possibili.

Mi potete aiutare?

Grazie mille...

Ho fatto php, ma non così forte. Scusi.
 

Discussioni simili