Ошибка в методе Cakephp Inflector::slug()

Я получаю странную ошибку при вызове метода slug класса Inflector. Вот код:

Inflector::slug('foo', '-');

Я получаю ошибку:

Предупреждение (2): preg_replace(): ошибка компиляции: ничего не повторяется со смещением 0 [CORE/Cake/Utility/Inflector.php, строка 546]

И вот метод пули:

public static function slug($string, $replacement = '_') {
    $quotedReplacement = preg_quote($replacement, '/');

    $merge = array(
        '/[^\s\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]/mu' => ' ',
        '/\\s+/' => $replacement,
        sprintf('/^[%s]+|[%s]+$/', $quotedReplacement, $quotedReplacement) => '',
    );

    $map = self::$_transliteration + $merge;
    return preg_replace(array_keys($map), array_values($map), $string);
}

Есть идеи, что вызывает ошибку?

Дополнительная информация: http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html

1 ответ

Если кто-нибудь придет сюда в поисках ответа, я нашел свою проблему:

Кодировка файла не была установлена ​​в UTF-8и $_transliteration элементы в массиве вверху не были правильно закодированы правильно.

Другие вопросы по тегам