Показать Меню
falbar falbar

Обрезка текста до определённой длины на PHP

При работе с текстом иногда требуются его укорочение до определённой длины, например для вывода превью статьи. Тут могут возникнуть проблемы такие как: отсечение происходит на половине слова или по HTML элементам. В этой статье я хочу предоставить вашему вниманию весьма не плохой сниппет, который решает эти неприятности.

function crop_str($str, $len, $tags = true, $endstr = "..."){

	if(!$tags){
		$str = strip_tags($str);
	}

	if($len == 0){
		$str = "";
	}

	if(strlen($str) > $len){
		$len -= strlen($endstr);
		$str = preg_replace("/\s+?(\S+)?$/", "", substr($str, 0, $len + 1));
		$str = trim(rtrim($str, "!,.-"));
	}else{
		$endstr = "";
	}

	return $str.$endstr;
}

Всё довольно просто и я думаю, не требует пояснений, но возможно данная функция будет вам полезна. Спасибо за внимание.

Подписаться на обновления

Комментариев еще не оставлено