Checkout эта вспомогательная функция от CodeIgniter
рамки:
/**
* Character Limiter
*
* Limits the string based on the character count. Preserves complete words
* so the character count may not be exactly as specified.
*
* @access public
* @param string
* @param integer
* @param string the end character. Usually an ellipsis
* @return string
*/
function character_limiter($str, $n = 500, $end_char = '…')
{
if (strlen($str) < $n)
{
return $str;
}
$str = preg_replace("/\s+/", ' ', str_replace(array("\r\n", "\r", "\n"), ' ', $str));
if (strlen($str) <= $n)
{
return $str;
}
$out = "";
foreach (explode(' ', trim($str)) as $val)
{
$out .= $val.' ';
if (strlen($out) >= $n)
{
$out = trim($out);
return (strlen($out) == strlen($str)) ? $out : $out.$end_char;
}
}
}
Вы можете использовать функцию:
echo character_limiter($text, 200);
Если вам нужно, чтобы избежать HTML-теги, вы можете использовать strip_tags
функцию перед вызовом функция character_limiter
.
вы что-то пробовали, прежде чем размещать свой вопрос? – ilanco
нет, потому что я не знаю, какая функция лучше всего подходит для такой проблемы – user1257255
, которую вы должны написать. –