Originariamente inviato da uMoR
Per includere nel range di caratteri da non sostituire i numeri č giusto cosė ?
[...]
Una classe di caratteri č racchiusa tra parentesi quadre, quindi per escludere un certo insieme di caratteri devi inserirli tutti nella stessa classe. Quella che hai scritto tu cercava un carattere "non alfabetico" seguito da uno o pių caratteri "non numerici".
Lo strtolower lo metti per il riconoscimento? Perchč la regexp per come č impostata č case insensitive.
Codice PHP:
$tmp = preg_replace('/[^a-z0-9]+/i', $separatore, strtolower($stringa));
// e poi continui ad aggiungere i caratteri che vuoi preservare
$tmp = preg_replace('/[^a-z0-9āč]+/i', $separatore, strtolower($stringa));
// eventualmente \\w (\\W il suo negato) č una classe che racchiude tutti i caratteri alfanumerici
//(quindi anche le accentate) e l'underscore "_"
$tmp = preg_replace('/\\W+/i', $separatore, strtolower($stringa));