Cercando attraverso Internet e questo sito web, ho trovato diversi argomenti in merito. Il fatto è che ci sono infinite soluzioni se le stringhe inserite devono contenere solo caratteri dell'alfabeto latino, ma quando il caso richiede il testo di altri alfabeti diventa un po 'complicato.PHP rimuovi i simboli dalla stringa
C'è un modo per rimuovere in PHP tutti i simboli da una stringa, ma lasciare le lettere effettive di tutti gli alfabeti UTF-8? Ho provato già a creare una matrice di tutti i caratteri della mia tastiera e poi usando str_replace o preg_replace rimuoverli, ma poi ho scoperto che diversi paesi hanno anche tastiere diverse a volte che includono simboli diversi. Ad esempio, la mia tastiera qwerty non ha il simbolo £
, che potrebbe avere una tastiera britannica.
So che questa è una domanda strana, mi chiedo solo se esiste una soluzione facile che forse mi è sfuggita.
Qualsiasi aiuto sarebbe molto apprezzato!
EDIT: OK Dopo un po 'meglio ed esteso Google-ing ho scoperto che la seguente espressione regolare funziona bene per quello che mi serve e mantiene tutte le lettere di tutti i tipi di alfabeti mentre rimuove tutti i simboli. Lo sto condividendo qui nel caso in cui qualcun altro avrebbe bisogno di fare lo stesso.
$string = preg_replace('/[^\p{L}\p{N}\s]/u', '', $string);
Mi piace il fatto che sia compatibile con UTF-8. – HoldOffHunger