Intereting Posts
WordPress: Загрузите только один скрипт jquery на веб-сайте Функция Twilio sms reply Преобразование HTML + CSS в PDF с помощью PHP? Использование Carbon для возвращения читаемой человеком разницы в датах Какую учетную запись пользователя использует IIS 8.5, когда пул приложений использует «ApplicationPoolIdentity»? Добавление пользовательского сегмента URL на страницу wordpress Добавление или настройка функциональности установленных пакетов Пользователи могут загружать видео на одном канале Youtube с аутентификацией или без нее Когда filter_input () удаляет слэши переменных POST? Ошибка загрузки файла 404 на сервере Сортировка ассоциативного массива в php с несколькими условиями Добавьте атрибут nofollow для ссылки, если тег заголовка отсутствует с помощью PHP Как добавить событие Google Calendar с помощью Google Api 3 для любого пользователя в домене? PHP: Прокрутите все месяцы в диапазоне дат? Производительность цикла для PHP в PHP

Обнаружение китайского (многобайтового) символа в строке

$str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 "; 

Как определить китайские символы из этой строки и напечатать часть, которая начинается с первого символа и заканчивается символом «-»? (это будет «中文 characters. Some more characters -»).

Спасибо!

Я решил эту проблему, используя preg_match и регулярные выражения:

 $str = "This is a string containing 中文 characters. Some more characters - 中华人民共和国 "; preg_match(/[\x{4e00}-\x{9fa5}]+.*\-/u, $str, $matches); 

PHP хранит это как Unicode? Если это так, в худшем случае вы можете пройти через строку, характер по характеру, пока не нажмете те, которые находятся в китайском диапазоне.

Проверьте это тоже PHP: Unicode – Manual