Sto utilizzando la seguente sintassi per rimuovere tutti i caratteri speciali da una stringa
rimangono gli spazi, che dovrei aggiungere?Codice PHP:
reg_replace("[^[:alnum:] ]", "-", "La mia stringa è questa!!!");
Sto utilizzando la seguente sintassi per rimuovere tutti i caratteri speciali da una stringa
rimangono gli spazi, che dovrei aggiungere?Codice PHP:
reg_replace("[^[:alnum:] ]", "-", "La mia stringa è questa!!!");
Cosa intendi esattamente per caratteri speciali?
=======================
http://www.abidibo.net
tutto ciò che non sia alfanumerico includendo anche le accentate e affini
Prova così
Codice PHP:
$pattern = "/[^A-Za-z0-9]/";
$replacement = '';
$string = preg_replace($pattern, $replacement, $string);
=======================
http://www.abidibo.net
Ci ho provato ma niente, non riesco ad andare d'accordo con locale e roba simile.
locales correttamente installate nel sistema:
codice PHP:codice:teoss@nowhere:/var/www/prove$ locale -a C en_US.utf8 italian it_IT it_IT@euro it_IT.iso88591 it_IT.iso885915@euro it_IT.utf8 POSIX
output:Codice PHP:
<?php
$string = "// perché &&";
echo "locale: " . setlocale(LC_ALL, 'it_IT') . "\n";
echo $string, "\n";
echo preg_replace("/\\W/", "", $string), "\n";
?>
non riesco a far "entrare" le accentate negli word characters \wcodice:teoss@nowhere:/var/www/prove$ php alfanum.php locale: it_IT // perché && perch
ahhhhh ma tu le accentate le vuoi tenere??
=======================
http://www.abidibo.net
In effetti non e' chiarissimo, ma immagino di si altrimenti la cosa e' banale.
Be allora non ho una risposta "elegante". Se proprio gli unici caratteri a parte gli alfanumerici sono gli accentati elencali nella regexp:
[^a-zA-Z0-9àèìòùé]
o una roba del genere, mi rendo conto che non sia il massimo.
Oppure guarda un po' qui
http://www.regular-expressions.info/reference.html
se trovi qualcosa che faccia al caso tuo.. scusa ma non ho il tempo di cercare
Ciao
=======================
http://www.abidibo.net