我想在php中限制自动生成的页面标题的字符数。
你能想出任何可以为我做这个的php或jquery代码,只需输入我想要的页面标题中最多的字符数(70个字符)吗?
答案 0 :(得分:2)
这样的事情怎么样?
<title><?php echo substr( $mytitle, 0, 70 ); ?></title>
答案 1 :(得分:1)
这是经常使用的substr。
<title><?php print substr($title, 0, 70); ?></title>
答案 2 :(得分:1)
您可以使用这个简单的truncate()函数:
function truncate($text, $maxlength, $dots = true) {
if(strlen($text) > $maxlength) {
if ( $dots ) return substr($text, 0, ($maxlength - 4)) . ' ...';
else return substr($text, 0, ($maxlength - 4));
} else {
return $text;
}
}
例如,在您的模板文件中/无论您输入标题标签的位置:
<title><?php echo truncate ($title, 70); ?>
答案 3 :(得分:1)
之前的答案很好,但请使用multibyte substring:
<title><?php echo mb_substr($title, 0, 75); ?></title>
否则可以拆分多字节字符。
function shortenText($text, $maxlength = 70, $appendix = "...")
{
if (mb_strlen($text) <= $maxlength) {
return $text;
}
$text = mb_substr($text, 0, $maxlength - mb_strlen($appendix));
$text .= $appendix;
return $text;
}
用法:
<title><?php echo shortenText($title); ?></title>
// or
<title><?php echo shortenText($title, 50); ?></title>
// or
<title><?php echo shortenText($title, 80, " [..]"); ?></title>