Вы всегда можете попробовать использовать флаг Юникода в регулярном выражении и посмотреть, совпадают ли эти символы или нет, например:
$regex = '#([a-zストスト,:=\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))#iu';
обратите внимание на u
на конец регулярного выражения (это относится к юникоду)
Очевидно, вы можете добавить диапазон вашего алфавита, если он поддерживается.
т.е. вот так ス-ト
Другой подход может заключаться в добавлении полного алфавита в регулярное выражение, сразу после вашего параметра az. Проверьте это ответ также.
Надеюсь, это поможет!
РЕДАКТИРОВАТЬ:
На основе вашего комментария, который относится к любому иностранному символ, лучшее, что я могу придумать, это использовать параметр \w
, который означает каждый символ слова, и добавить флаг u
в конце вашего регулярного выражения.
Это означает, что это может быть $regex = '#([\w,:=\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))#iu';
С этим регулярным выражением ваши 2 примера работают нормально. Жду вашего ответа:)