Хотя модификатор u позволяет интерпретировать как образец, так и субъект как UTF-8, захваченные смещения все еще подсчитываются в байтах.
Вы можете использовать mb_strlen
для получить длину в символах UTF-8, а не в байтах:
$str = "\xC2\xA1Hola!";
preg_match('/H/u', $str, $a_matches, PREG_OFFSET_CAPTURE);
echo mb_strlen(substr($str, 0, $a_matches[0][1]));
Удостоверьтесь, что остановились, сервис сначала тогда работает, кв/см удаляют команду. Это будет заботиться о закрытии любого рабочего процесса.