Tôi đang cố xóa mọi thứ ngoại trừ các chữ cái hợp lệ (từ bất kỳ ngôn ngữ nào) trong PHP. Tôi đã sử dụng điều này:RegEx: Loại bỏ các ký tự không phải chữ cái UTF-8 an toàn, nhanh chóng
$content=preg_replace('/[^\pL\p{Zs}]/u', '', $content);
Nhưng nó rất chậm. Mất khoảng 30x dài hơn:
$content=preg_replace('/[^a-z\s]/', '', $content);
Tôi đang xử lý một lượng lớn dữ liệu, vì vậy thực sự không thể sử dụng phương pháp chậm.
Có cách nào nhanh hơn để thực hiện việc này không?
Cách thay thế duy nhất trong PHP là 'mb_ereg_replace', nhưng điều đó thậm chí còn chậm hơn. (Phần mở rộng 'iconv' không cung cấp khả năng lọc thư, và không biết gì khác.) – mario
Bạn đã thử thêm' + ', ví dụ:'/[^ \ pL \ p {Zs}] +/u' ? Nó nên thực hiện tốt hơn một chút. – NullUserException