1

PHPで自動生成されるページタイトルの文字数を制限したい。

ページタイトルに必要な最大文字数(70文字)を入力するだけで、これを実行できるphpまたはjqueryコードを思いつくことができますか?

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 に答える