Lexikon
<?php
$str_title = "description tag18 description tag36 description tag54 description tag72 description tag90 description tag108 description tag128
description tag147 description tag166 description tag185 description tag204 description tag223 description tag242 description tag261 description
tag280 description tag299 description tag318";
$strlen = strlen($str_title); // Определяем кол-во символов в строке
if ($strlen > 300)
{
$str_title = preg_replace("/[\r\n\t]/", "", $str_title );
$str = '';
$str_title = substr($str_title, 0, 300);
$words = explode(" ", $str_title);
//$k = str_word_count($str_title) - 1;
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$embed_desc_300 = trim($str)."...";
}
else
{
$embed_desc_300 = trim($str_title);
}
echo $embed_desc_300."<br>";
//------------------------------------------------------------------------------------
$strlen = strlen($embed_desc_300); // Определяем кол-во символов в строке
if ($strlen > 120)
{
$embed_desc_300 = preg_replace("/[\r\n\t]/", "", $embed_desc_300);
$str = '';
$embed_desc_300 = substr($embed_desc_300, 0, 120);
$words = explode(" ", $embed_desc_300);
//$k = str_word_count($embed_desc_300) - 1;
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$meta_desc_120 = trim($str)."...";
}
else
{
$meta_desc_120 = trim($embed_desc_300);
}
echo $meta_desc_120."<br>";
//------------------------------------------------------------------------------------
$strlen = strlen($meta_desc_120); // Определяем кол-во символов в строке
if ($strlen > 36)
{
$meta_desc_120 = preg_replace("/[\r\n\t]/", "", $meta_desc_120 );
$str = '';
$meta_desc_120 = substr($meta_desc_120, 0, 36);
$words = explode(" ", $meta_desc_120);
//$k = str_word_count($meta_desc_120) - 1;
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$meta_title = trim($str)."...";
}
else
{
$meta_title = trim($title);
}
echo $meta_title;
?>
может и бутафория какая, но все же, это кусок кода отвечающий за определенную здачу пока набросок, впринципе процесс один и тот же, но х.з. может как то можно сократить?
Lexikon
сделал так:
<?php
$str_title = "description tag18 description tag36 description tag54 description tag72 description tag90 description tag108 description tag128
description tag147 description tag166 description tag185 description tag204 description tag223 description tag242 description tag261 description
tag280 description tag299 description tag318";
function getLimitWords($str_title, $limit) {
$strlen = strlen($str_title);
if ($strlen > $limit)
{
$str_title = preg_replace( "/[\r\n\t]/", "", $str_title );
$str = '';
$str_title = substr( $str_title, 0, $limit );
$words = explode( " ", $str_title );
$k = count($words) - 1;
$n = 0;
while ($n < $k)
{
$str .= $words[$n++].' ';
}
$str_title = trim($str)."...";
}
else
{
$str_title = trim($str_title);
}
echo $str_title;
return;
}
getLimitWords($str_title, 300);
?>
Но вот чего не пойму так это того, если в функции убрать строку
echo $str_title; то на экране ничего выводиться не будет, это и логично, т.к. нет команды вывода, но вот тогда к примеру как это дело вывести?
т.е. я к примеру за функцией пишу
$str300 = getLimitWords($str_title, 300);
$str120 = getLimitWords($str_title, 120);
затем хочу проверить передается ли то что мне нужно в переменных, делаю так:
echo $str300;
echo $str120;
экран пуст, непойму что не так.