2014-02-03 2 views
0

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

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

+0

какой торт версия? работает нормально в 2.4.5 – cornelb

+0

Версия 2.3.0. Я попытаюсь использовать класс версии 2.4.5, чтобы увидеть, работает ли он. – Brayan

ответ

1

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

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