Estoy tratando de eliminar todo, excepto las letras válidas (de cualquier idioma) en PHP. He estado usando esto:RegEx: eliminar non-letters UTF-8 Safe, Quickly
$content=preg_replace('/[^\pL\p{Zs}]/u', '', $content);
Pero es terriblemente lento. Toma aproximadamente 30 veces más largo que:
$content=preg_replace('/[^a-z\s]/', '', $content);
estoy tratando con grandes cantidades de datos, por lo que realmente no es factible el uso de un método lento.
¿Hay una manera más rápida de hacer esto?
La única alternativa en PHP es 'mb_ereg_replace', pero eso es incluso más lento. (La extensión 'iconv' no proporciona filtrado de letras, y no sabe de nada más). – mario
¿Ha intentado agregar un' + ', por ejemplo:'/[^ \ pL \ p {Zs}] +/u' ? Debería funcionar un poco mejor. – NullUserException