Я хочу ограничить количество символов автоматически созданных заголовков страниц в php.
Можете ли вы придумать любой код php или jquery, который может сделать это для меня, и я просто ввожу число символов, которое я хочу в заголовках страниц (70 символов)?
Как насчет чего-то подобного?
<title><?php echo substr( $mytitle, 0, 70 ); ?></title>
Вы можете использовать эту простую функцию 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); ?>
Предыдущие ответы были хорошими, но, пожалуйста, используйте многобайтную подстроку:
<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>
Это то, для чего часто используется substr.
<title><?php print substr($title, 0, 70); ?></title>