CakePHP Inflector Slug Issue

Когда я использую:

Inflector::slug("My Lovely & long slug");

На моем локальном сервере я получаю:

My_Lovely_long_slug

Когда я использую его на своем сервере, я получаю:

Lo_l_lo_lu

Что дает? Эта проблема также влияет на все имена моего кэша, которые, как я предполагаю, используют класс Inflector. Любая помощь приветствуется.

2 ответа

Похоже на разные версии торта? Я видел это сообщалось ранее, но не имею никаких ссылок для вас. Протестировано на моем сервере ~ 1.3.6/7 и работает как положено.

если версии торта одинаковые, попробуйте сделать git bisect, который даст вам ответ довольно быстро

Обновить:

Похоже, что с вашими библиотеками PCRE, установленными на сервере, которые старше, и т.д., дайте им обновление, и все должно быть хорошо

Так что я сделал свой собственный слизень на данный момент.

function permalink ($string = '',$length = false)
{
    $string = strtolower($string); // All lowercase
    $string = preg_replace('/[^%a-z0-9]/',' ', $string); // Remove garbage
    $string = preg_replace('/\s+/','_', $string);
    $string = preg_replace('|-+|','_', $string);
    if ($length) $string = substr($string,0,$length); // Limit string length?
    $parsed = trim($string,'_'); // Trim pre and post trailing delims
    return $parsed;
}
Другие вопросы по тегам