люди, есть переменная содержащая длинный текст.
мне надо чтоб, скажем, 10 первых слов помещались в другую переменную.
знаю, это можно сделать разными путями...
кто что предложет?
я сделал так...
<?
$long = "ля ля ля ля ля";
$short = explode(" ", $long);
for($i = 0; $i < 10; $i++)
{
echo($short[$i]." ");
}
?>
этот код будет повторяться 15 раз на странице, и если изначальный текст очень большой (а он такой и будет), таким образом будут создаваться большие массивы и это будет "утежелять" весь сайт.
так что нужно что нить "полегче".
Спустя 51 минута, 42 секунды (7.04.2010 - 00:06) MatrixGod написал(а):
кстати, можно и так:
отсчитываем первые 100 символов от начала строки и если остановились по среди слова (не на пробеле) идем до ближайщего пробела и этот кусок текста суем в другую переменную.
но как это сделать?
отсчитываем первые 100 символов от начала строки и если остановились по среди слова (не на пробеле) идем до ближайщего пробела и этот кусок текста суем в другую переменную.
но как это сделать?
Спустя 33 минуты, 8 секунд (7.04.2010 - 00:39) waldicom написал(а):
Цитата (MatrixGod @ 6.04.2010 - 23:06) |
кстати, можно и так: отсчитываем первые 100 символов от начала строки и если остановились по среди слова (не на пробеле) идем до ближайщего пробела и этот кусок текста суем в другую переменную. но как это сделать? |
strpos вместе с параметром offset: http://de2.php.net/manual/en/function.strpos.php
А потом уже substr: http://de2.php.net/manual/en/function.substr.php
Спустя 47 минут, 59 секунд (7.04.2010 - 01:27) ИНСИ написал(а):
MatrixGod для примера, можно так сделать, просто выдрал со своего скрипта:
перед этим, оставь 200 символов, через strpos вместе с параметром offset, как сказал: waldicom
$count = 20;
$newarr = array ();
$arr = explode(' ', $text);
foreach($arr as $word) {
if (strlen($word) > 4) $newarr [] = $word;
}
$arr = array_count_values($newarr);
arsort($arr);
$arr = array_keys($arr);
$arr = array_slice($arr, $count);
перед этим, оставь 200 символов, через strpos вместе с параметром offset, как сказал: waldicom