Forum Webscript.Ru

Программирование => PHP => Тема начата: Neter от 09 Августа 2002, 22:43:42

Название: Как укоротить строку?
Отправлено: Neter от 09 Августа 2002, 22:43:42
Вобщем знаете такой прикол в форумах, пишешь длинную.. длинную строчку без пробелов и таблица нацинает разежаться.. вот мне и надо сделать так чтобы этого не происходило...те надо проверять все слова в тексте на длинну и укорачивать если слово длиннее n-количества символов...

воот.. ну я тут придумал хреновину..

$expl = explode(" ", $text);
for ($i=0;$i<=sizeof($expl)-1;$i++){
  if (strlen($expl[$i]) > 50){
    $expl[$i] = substr($expl[$i], 0, 20)."...".substr($expl[$i], -20, 20);
  }
}
  $text = implode(" ", $expl);

Но она медленная и не очень мне нравится.. может кто, чего посоветует?
Название: Как укоротить строку?
Отправлено: Neter от 09 Августа 2002, 22:45:10
Вот, тут эта фишка не работет...
Название: Как укоротить строку?
Отправлено: tserbis от 10 Августа 2002, 09:18:32
Когда-то для чего-то подобного я использовал
echo wordwrap("1234567890123456789012",5,"
",1);
Попробуй, может поможет.
Название: Как укоротить строку?
Отправлено: Neter от 10 Августа 2002, 14:46:29
Сенкс... вроде работает...
Название: Как укоротить строку?
Отправлено: Michel_Mak от 12 Августа 2002, 19:32:00
tserbis
Но это, кажется только один раз срабатывает, а если слово еще остается длинным???, то "if (strlen...)" все равно надо использовать.
Название: Как укоротить строку?
Отправлено: Ardzhan от 12 Августа 2002, 19:54:06
Да нормально предложенный вариант все разбивает!
Из мануала
Цитировать

string wordwrap ( string str [, int width [, string break [, int cut]]])


Returns a string with str wrapped at the column number specified by the (optional) width parameter. The line is broken using the (optional) break parameter.

wordwrap() will automatically wrap at column 75 and break using \'\\n\' (newline) if width or break are not given.

If the cut is set to 1, the string is always wrapped at the specified width. So if you have a word that is larger than the given width, it is broken apart. (See second example).

Note: The optional cut parameter was added in PHP 4.0.3

Не забывайте указывать в качастве последнего параметра 1!!!