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;
}