我有一个奇怪的问题。基本上我有一个由 smarty 模板引擎调用的函数,它应该接受 6 个参数。实际上问题是,它只接受 2!
更奇怪的是,func_num_args()
在那个函数内部调用也给了我......但是看看它
function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false, $charset = 'UTF-8')
{
var_dump($break_words);
var_dump(func_num_args());
if (!$length)
return '';
if (Tools::strlen($string) > $length)
{
$length -= min($length, Tools::strlen($etc));
if (!$break_words && !$middle)
$string = preg_replace('/\s+?(\S+)?$/u', '', Tools::substr($string, 0, $length+1, $charset));
return !$middle ? Tools::substr($string, 0, $length, $charset).$etc : Tools::substr($string, 0, $length/2, $charset).$etc.Tools::substr($string, -$length/2, $length, $charset);
}
else
return $string;
}
设置了其他参数,因为正在输出“中断词”,如果我更改它们,效果会很明显。真的很奇怪。有什么解决办法吗?
在本地 wamp 上运行的 PHP 版本 5.4.3