[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: первые пару слов...
MatrixGod
всем привет!

люди, есть переменная содержащая длинный текст.
мне надо чтоб, скажем, 10 первых слов помещались в другую переменную.

знаю, это можно сделать разными путями...

кто что предложет?

я сделал так...

<?

$long = "ля ля ля ля ля";
$short = explode(" ", $long);

for($i = 0; $i < 10; $i++)
{
echo($short[$i]." ");
}

?>


этот код будет повторяться 15 раз на странице, и если изначальный текст очень большой (а он такой и будет), таким образом будут создаваться большие массивы и это будет "утежелять" весь сайт.

так что нужно что нить "полегче".



Спустя 51 минута, 42 секунды (7.04.2010 - 00:06) MatrixGod написал(а):
кстати, можно и так:

отсчитываем первые 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 для примера, можно так сделать, просто выдрал со своего скрипта:
	$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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.