врезатся в текст через 25 символов на php

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

есть параметр $dt[5] который выводит текст, необходимо врезаться в текст после 25-ти символов и вставить </h4>

помогите сделать такое чудо..

frantic
На сайте с 09.02.2009
Offline
27
#1

а вы судя по всему даже и не пытались

R
На сайте с 02.04.2007
Offline
22
#2

Так подойдет?

$s1 = substr($dt[5], 0, 25);

$s2 = substr($dt[5], 26, strlen($dt[5]));

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

frantic
На сайте с 09.02.2009
Offline
27
#3
Romari:

$s2 = substr($dt[5], 26, strlen($dt[5]));


$s2 = substr($dt[5], 26, strlen($dt[5]) - 26);

и ваще


$s2 = substr($dt[5], 25);
wlad2
На сайте с 17.07.2008
Offline
153
#4
Romari:
Так подойдет?

$s1 = substr($dt[5], 0, 25);
$s2 = substr($dt[5], 26, strlen($dt[5]));

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

Romari, большое спасибо, работает! =)

wlad2 добавил 26.02.2010 в 21:27

как сделать что-бы врезалось а конце целого слова?

сейчас так

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

а хочется так

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

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

$arr=array('.',' ', ',', "\n", '!', '?');

while(strlen($dt[5])>=strlen($_str)){
if(strlen($_str)>=25 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
#6
skAmZ:
$arr=array('.',' ', ',', "\n", '!', '?');

while(strlen($dt[5])>=strlen($_str)){
if(strlen($_str)>=25 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;

работает только с ошибкой

Notice: Undefined variable: _str in while(strlen($dt[5])>=strlen($_str)){

Notice: Undefined variable: _str in if(strlen($_str)>=25 and in_array($dt[5][$i], $arr)) break;

Notice: Undefined variable: _str in $_str.=$dt[5][$i++];

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

Это не ошибка)

Так и этого не будет:

$count_sim=25;$_str='';$i=0;

$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
#8
skAmZ:
Это не ошибка)
Так и этого не будет:

последний вариант отлично работает!! =))

спасибо большое.

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