| +7 (495) 229-0436 | shopadmin@itshop.ru | 119334, г. Москва, ул. Бардина, д. 4, корп. 3 |
![]() |
|
|
Получение подстроки без потери части слова06.07.2012 12:19
Иногда возникает задача получить часть строки фиксированной длины (чаще всего это вводная часть от полного текста для публикации анонса материала). Для того, чтобы получить часть строки фиксированной длины, php-программисты используют функцию substr().Эта функция возвращает подстроку строки string, начинающейся с start символа по счету и длиной length символов. string substr (string $string , int $start [, int $length ]) Но при использовании данной функции возникает следующая проблема - она обрезает часть слова, если его длина больше заданной величины подстроки $length. Рассмотрим возможные варианты решения этой проблемы. Первый метод В результирующую подстроку попадут все слова, имеющие длину не менее заданной (3 символа в нашем случае) PHP function
function _substr($str, $length, $minword = 3)
{
$sub = '';
$len = 0;
foreach (explode(' ', $str) as $word)
{
$part = (($sub != '') ? ' ' : '') . $word;
$sub .= $part;
$len += strlen($part);
if (strlen($word) > $minword && strlen($sub) >= $length)
{
break;
}
}
return $sub . (($len < strlen($str)) ? '...' : '');
}
"..." будет добавлено к подстроке, если ее длина получится меньше заданной. Следующий код выполняет ту же работу, что и substr(), но он лишен проблемы с обрезкой части слова: Пример:
echo _substr('Hello World I live in Kiev',12); // Выведет "Hello World I live..."
Второй метод Эта функция задает количество слов, которые будут выделены их строки (с начала строки, разумеется) PHP function
function text_limit($str,$limit=10)
{
$str_s = '';
if(stripos($str," ")){
$ex_str = explode(" ",$str);
if(count($ex_str)>$limit){
for($i=0;$i<$limit;$i++){
$str_s.=$ex_str[$i]." ";
}
return $str_s;
}else{
return $str;
}
}else{
return $str;
}
}
Принцип работы: - Задаем количество слов, которые необходимо выделить из строки; Пример:
echo text_limit('Hello World I live in Kiev',4); // Выведет "Hello World I live "Ссылки по теме |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| О нас |
|
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.
На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям. Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе. В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.
|
|
119334, г. Москва, ул. Бардина, д. 4, корп. 3 +7 (495) 229-0436 shopadmin@itshop.ru |
|
© ООО "Interface Ltd." Продаем программное обеспечение с 1990 года |