Sto cercando di sostituire in una stringa tutti i caratteri non word con stringa vuota si aspettano spazi e riuniscono tutti gli spazi multipli come un unico spazio.PHP mb_ereg_replace non sostituisce mentre preg_replace funziona come previsto
Il seguente codice esegue questa operazione.
$cleanedString = preg_replace('/[^\w]/', ' ', $name);
$cleanedString = preg_replace('/\s+/', ' ', $cleanedString);
Ma quando sto cercando di utilizzare mb_ereg_replace non accade nulla.
$cleanedString = mb_ereg_replace('/[^\w]/', ' ', $name);
$cleanedString = mb_ereg_replace('/\s+/', ' ', $cleanedString);
$ cleanString è uguale a quello se $ nome nel caso precedente. Che cosa sto facendo di sbagliato?
Grazie è stato l'errore che ho fatto. Se il mio input è UTF-8 ci sono raccomandazioni riguardo quale metodo usare? – Jithin
@Jithin Se è UTF-8, si potrebbe anche usare 'preg_replace' con il flag' u': 'preg_replace ('/ \ s +/u', '', $ cleanedString);' – Artefacto
@Artefacto Grazie. Puoi dirmi se è sicuro che fino a quando l'input è nella codifica UTF-8, preg_replace funzionerà per la maggior parte delle lingue? – Jithin