Уберите не алфавитно-цифровые символы с арабского UTF8 + английская строка
Я хочу удалить из строки все неарабские, не английские и не числовые символы, кроме черточек (-).
Мне удалось сделать это для неанглийских буквенно-цифровых символов, таких как:
$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);
Но для неарабских буквенно-цифровых символов я попытался сделать это так:
$slug = ereg_replace('\p{InArabic}', '', $string);
но это не лишило буквенно-цифровые символы! Я также пробовал этот ответ, но он тоже не работал, он всегда возвращает "0"!!
$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string);
Надеюсь, кто-нибудь может мне помочь.
1 ответ
Решение
Попробуйте ниже:
$slug = preg_replace('/[^\p{Arabic}\da-z-]/ui', '', $string);