У нас есть регулярное выражение для удаления не буквенно-цифровых символов, кроме «#», «&» и «-».Вот как это выглядит:
preg_replace('/[^a-zA-Z0-9#&-*]/', '', strtolower($title));
Теперь нам нужно поддерживать традиционные китайские строки, и вышеуказанная функция не будет работать.Как я могу реализовать аналогичную функциональность для традиционного китайского.
Спасибо,
Используйте u модификатор:
u
preg_replace(`/[^a-zA-Z0-9#&-*诶]/u`, '', $string);
Кстати, не используйте strtolower(), потому что это сломает вашу строку.Используйте mb_strtolower():
strtolower()
mb_strtolower()
mb_strtolower($string, 'UTF-8');
Вы пробовали mb_ereg_replace () вместо preg_replace ()?Это могло бы помочь.
http://www.php.net/manual/en/function.mb-ereg-replace.php