врезаться после * символов оставляя целые слова php

wlad2
На сайте с 17.07.2008
Offline
153
657

этот скрипт врезается после 25 символов, но режет слова на части.

сейчас так

<h4>Королев. Аэрография, изготовление пластика, покрас</h4>ка.

а хочется так

<h4>Королев. Аэрография, изготовление пластика, покраска.</h4>

skAmZ
На сайте с 04.09.2009
Offline
122
#1

Я Вам там ответил. Если вам надо через N символов, в переменной $count_sim нужное количество:

$count_sim=25;

$arr=array('.',' ', ',', "\n", '!', '?');
while(strlen($dt[5])>=strlen($_str)){
if(strlen($_str)>=$count_sim and in_array($dt[5][$i], $arr)) break;
$_str.=$dt[5][$i++];
}
$s1 = substr($dt[5], 0, strlen($_str));
$s2 = substr($dt[5], strlen($_str)+1, strlen($dt[5]));

$dt[5] = '<h4>'.$s1 . '</h4>' . $s2;
wlad2
На сайте с 17.07.2008
Offline
153
#2
skAmZ:
Я Вам там ответил. Если вам надо через N символов, в переменной $count_sim нужное количество:
$count_sim=25;

$arr=array('.',' ', ',', "\n", '!', '?');
while(strlen($dt[5])>=strlen($_str)){
if(strlen($_str)>=$count_sim and in_array($dt[5][$i], $arr)) break;
$_str.=$dt[5][$i++];
}
$s1 = substr($dt[5], 0, strlen($_str));
$s2 = substr($dt[5], strlen($_str)+1, strlen($dt[5]));

$dt[5] = '<h4>'.$s1 . '</h4>' . $s2;

работает только с ошибкой, отписался тут

[Удален]
#3
wlad2:
работает только с ошибкой

ужасная ошибка.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий