1

我想限制 php.ini 中自动生成的页面标题的字符数。

你能想出任何可以为我做这件事的 php 或 jquery 代码吗,我只需在页面标题中输入我想要的最大字符数(70 个字符)?

4

4 回答 4

2

这样的事情呢?

<title><?php echo substr( $mytitle, 0, 70 ); ?></title>
于 2012-05-08T19:31:34.193 回答
1

这就是 substr 常用的用途。

<title><?php print substr($title, 0, 70); ?></title>
于 2012-05-08T19:31:36.240 回答
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); ?>
于 2012-05-08T19:31:46.210 回答
1

以前的答案很好,但请使用多字节子字符串:

<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>
于 2012-05-08T19:40:45.937 回答