CakePHP Inflector slug问题

时间:2011-04-13 10:20:41

标签: cakephp inflector

当我使用时:

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

在我的本地服务器上,我得到:

My_Lovely_long_slug

当我在服务器上使用它时,我得到:

Lo_l_lo_lu

是什么给出的?这个问题也影响了我假设使用Inflector类的所有缓存名称。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

看起来像不同版本的蛋糕?我之前见过这个报道,但没有任何参考资料。在我的服务器上测试~1.3.6 / 7,它按预期工作。

如果蛋糕的版本是相同的尝试并做一个'git bisect',它会很快给你一个答案

更新

似乎与安装在旧版服务器上的PCRE库有关。给他们一个更新,一切都应该没问题

答案 1 :(得分:2)

所以我现在制作了自己的slu ..

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