Урезание названия по целым словам

Прохожий_

Новичок
Урезание названия по целым словам

Приветствую.
Я сделал tab delimited feed (тестовой файл, где вся инфа разделена табуляцией, предназначена для сабмита списка товара)

Так вот, в фиде название должно быть 55 символов.
Вот часть кода:
PHP:
$this->data[$data['products_id']] = array (
'name' => substr($this->strip($data['products_name']), 0, 55),
Да, имя обрезается на 55 символов, но в основном обрезается по середине какогго либо слова.
Хочу спросить спецов, каким образом обрезать на 55 символов или меньше, что бы слово, если оно попадает под урезание, обрезалось полностью?

Спасибо заранее.
 

svetasmirnova

маленький монстрик
PHP:
$matches = array();
preg_match('/^(.{0,54})\s/', $data['products_name'], $matches);
echo $matches[1];
 

_RVK_

Новичок
PHP:
<?php
$word = 'The long title';
preg_match('/^.{1,12}\b/', $word, $matches);
print_r($matches);
?>
 

Прохожий_

Новичок
SelenIT Супер! То, что нужно! Огромное спасибо!

Люди, всем большое-большое спасибо!
 

sakon

П..и.н..ок
хех.
Тоже как вариант...
PHP:
echo substr($data['products_id']['name'], 0, strrpos($data['products_id']['name'], ' '));
 

_RVK_

Новичок
sakon
А если слово не содержит пробелов? И вообще где 55 символов лимита?
 

sakon

П..и.н..ок
1.слово из 55 символов?
2. лохонулся. :)
PHP:
echo substr($data['products_name'], 0, strrpos(substr($data['products_name'], 0, 55),' '));
 

_RVK_

Новичок
sakon
Ты не любишь реги?

-~{}~ 06.11.05 16:36:

А если слово без пробелов? А если слова разделены запятыми без пробелов?
 

sakon

П..и.н..ок
Да нет. Скорее наоборот...
Просто все стали предлагать регами (что в данном случе было правильнее) и ради интереса предложил вариант без регов.
 
Сверху