Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как обрезать вывод php?
цитата
15/04/08 в 23:10
 Newestage
нужно обрезать вывод деска до 200 символов, просьба помочь кто с пхп дружит, желательно чтоб между слов обрезал

Код:
elseif(is_category()) {
      $category = $wp_query->get_queried_object();
      $description = trim(strip_tags($category->category_description));
}


Последний раз редактировалось: Newestage (15/04/08 в 23:26), всего редактировалось 2 раз(а)
цитата
15/04/08 в 23:23
 ivango
$description = substr(trim(strip_tags($category->category_description)),0,200);
цитата
15/04/08 в 23:27
 Newestage


спасибо , а как заставить между слов резать ?
цитата
16/04/08 в 00:36
 wMaster
Код:
function truncating($str, $length, $ellipsis = true)
{
    $result = '';   
    $words = preg_split('/([\s]+)/', $str, -1);
   
    $s = $ellipsis ? '...' : '';

    while ((list(,$word) = each($words)) && strlen($result . $word . ' ' . $s) < $length)
    {
        $result .= $word . ' ';
    }
   
    return $result . $s;   
}

$str = "Abbey Brooks, a busty beauty with an ass that makes your mouth water, and a face from heaven had a pair of some tiny shorts that showed off all her goods. Mariah, well Mariah has what I call the perfect body. A beautiful pair of big tits, and a perfectly round ass. These two were strutting their stuff all over the ranch, walking around naked and playing with eachother's asses.";

print truncating($str, 146, false);

OUT >> Abbey Brooks, a busty beauty with an ass that makes your mouth water, and a face from heaven had a pair of some tiny shorts that showed off all


print truncating($str, 146, true); // default

OUT >> Abbey Brooks, a busty beauty with an ass that makes your mouth water, and a face from heaven had a pair of some tiny shorts that showed off ...

icon_wink.gif

Последний раз редактировалось: wMaster (16/04/08 в 00:55), всего редактировалось 1 раз
цитата
16/04/08 в 00:43
 wMaster
т.е. для тебя это будет так

Код:

function truncating($str, $length, $ellipsis = true)
{
    $result = '';   
    $words = preg_split('/([\s]+)/', $str, -1);
   
    $s = $ellipsis ? '...' : '';

    while ((list(,$word) = each($words)) && strlen($result . $word . ' ' . $s) < $length)
    {
        $result .= $word . ' ';
    }
   
    return $result . $s;   
}

elseif(is_category()) {
      $category = $wp_query->get_queried_object();
      $description = truncating(trim(strip_tags($category->category_description)), 200, false);
}
цитата
16/04/08 в 02:20
 alt
Код:

elseif(is_category()) {
      $category = $wp_query->get_queried_object();
      $description = trim(strip_tags($category->category_description));
      $i=400;
      while($i--) if($description[$i] == " ") break;
      $description = substr($description,0,$i);

}


как-то так...
цитата
16/04/08 в 06:50
 Corex
Вот ещё вариант, до кучи так сказать icon_smile.gif, обрезка по ближайшему пробелу к указанной длине строки (±).

Код:
function quote($str, $length)
{
    $str = strip_tags($str);
    $splitter = "\x0";
    $int_len = strlen($str);
    if ($int_len > $length)
    {
        $str = wordwrap($str, $length, $splitter);
        $int_s = strpos($str, $splitter);
        if ($int_s === false)
        {
            $int_s = $length;
        }
        return substr($str, 0, $int_s);
    }
    return $str;
}

elseif(is_category()) {
      $category = $wp_query->get_queried_object();
      $description = trim(strip_tags($category->category_description));
      $description = quote($description, 200);
}
цитата
16/04/08 в 08:52
 Newestage
всем спасибо!


Эта страница в полной версии