Tôi muốn xóa tất cả các đối tượng không phải là tiếng Ả Rập, không phải tiếng Anh và không phải số từ một chuỗi, ngoại trừ dấu gạch ngang (-).Dải ký tự không phải chữ và số từ tiếng Ả Rập UTF8 + Chuỗi tiếng Anh
tôi quản lý để làm điều đó cho ký tự chữ và tiếng Anh không như thế này:
$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);
Nhưng đối với không ký tự chữ arabic tôi đã cố gắng để làm điều đó như thế này:
$slug = ereg_replace('\p{InArabic}', '', $string);
nhưng nó didnt dải ký tự không phải chữ số! Tôi cũng đã thử this answer nhưng nó cũng không hoạt động, nó luôn trả về '0' !!
$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string);
Hy vọng ai đó có thể giúp tôi.
'ereg_replace' bị phản đối. Regex với 'preg_replace' sẽ hoạt động. Bạn có thể cung cấp các chuỗi mẫu mà nó không hoạt động không? – Toto
Đầu ra của 'preg_last_error()' là gì? Đoạn mã hoạt động. –
Cảm ơn bạn M42, đã làm việc với sự giúp đỡ của câu trả lời "xdazz", cảm ơn tất cả các bạn. –