Реклама на сайте Advertise with us

Как лучше разбить текст?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 03.10.08
Сообщения: 129
Рейтинг: 141

Ссылка на сообщениеДобавлено: 28/10/08 в 10:42       Ответить с цитатойцитата 

В обчем имеем текст в переменной $text icon_smile.gif

нужно этот текст разбить на массивы по словам или словосочитаниям. Желательно рандомировать! То есть пишем в массив одно слово из текста, далее пишем 2-3 слова из текста. Подумывал вырезать символы между побелами с помощью preg_match_all . Подскажите как лучше прописать, всем рейтинг!

0
 



С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430

Ссылка на сообщениеДобавлено: 28/10/08 в 11:22       Ответить с цитатойцитата 

Ты же на заказ программируешь стыдно такое спрашивать.

0
 



С нами с 03.10.08
Сообщения: 129
Рейтинг: 141

Ссылка на сообщениеДобавлено: 28/10/08 в 11:51       Ответить с цитатойцитата 

dDan писал:
Ты же на заказ программируешь стыдно такое спрашивать.

Я мнение спрашиваю, опытом поделиться icon_wink.gif

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 28/10/08 в 12:02       Ответить с цитатойцитата 

Интересно! Вот такое мнение:

Код:
$text = "PHP is a scripting language, originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in standalone graphical applications.";

$words = explode(' ', $text);
for($i=0; $i<count($words); $str='')
{
   for($j=0; $j<mt_rand(1,4); $j++) @$str .= ' ' . $words[$i++];
   $result[] = $str;
}

print_r($result);


Для финально-рабочей версии надо чуток добавить рутины с проверками и избавиться от знаков препинания, если требуется, и т.д.

Power of the lime madness...

4
 



С нами с 03.10.08
Сообщения: 129
Рейтинг: 141

Ссылка на сообщениеДобавлено: 28/10/08 в 12:07       Ответить с цитатойцитата 

Код:

$massiv = explode(" ",$text);
Или вот так тупо простенько. Что еще посоветуете?

0
 



С нами с 03.10.08
Сообщения: 129
Рейтинг: 141

Ссылка на сообщениеДобавлено: 28/10/08 в 12:16       Ответить с цитатойцитата 

Corex: красиво, четко smail54.gif

Код:
$massiv = explode(' ', $text);
for ($i=0; $i<count($massiv);$i++)
{
$massiv[$i] = $massiv[rand(1,count($massiv))];
}
print_r($massiv);


Вытаскиваем из текста рандомно слова в массив. Можно отрегулировать сколько брать слов из текста.

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 28/10/08 в 12:24       Ответить с цитатойцитата 

Если надо рэндомно, то в любом случае придётся делать где-то рэндом дополнительно, так что explode тут не так уж плох.

В моём вариант mt_rand(1,4) - это кол-во слов (от 1 до 4). Если нужно потом перемешать массив, то делай shuffle($result).

В твоём варианте массив состоит только из однословных ячеек, словосочетаний нет, ну и цикл не нужен, можно вот так упростить: $massiv = shuffle(explode(' ', $text));

Power of the lime madness...

4
 



С нами с 03.10.08
Сообщения: 129
Рейтинг: 141

Ссылка на сообщениеДобавлено: 28/10/08 в 12:42       Ответить с цитатойцитата 

Corex: верно, но акцент сделан на
Цитата:
Можно отрегулировать сколько брать слов из текста.

0
 

« ... full on ... »

С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686

Ссылка на сообщениеДобавлено: 28/10/08 в 12:57       Ответить с цитатойцитата 

$words = array_slice(explode(' ', $text), 0, 20); - берёт первые 20 слов! icon_biggrin.gif

Power of the lime madness...

4
 

SexBlogs.Name

С нами с 13.10.03
Сообщения: 3159
Рейтинг: 962

Ссылка на сообщениеДобавлено: 28/10/08 в 15:49       Ответить с цитатойцитата 

dDan писал:
Ты же на заказ программируешь стыдно такое спрашивать.
иногда кстати действительно интересно посмотреть как можно еще реализовать тот или иной код...
другое дело что это может быть показатель величины опыта icon_smile.gif

Код:
$Alltxtfile = file_get_contents($filename);
$ArrayTxt = explode(" ",$Alltxtfile);
$start = 0;
foreach($ArrayTxt as $key => $val)
{
   $end = mt_rand(0,3);
   if($start<count($ArrayTxt))
   {
      $FinalText[$start] = implode(" ",array_slice ($ArrayTxt, $start ,$end));
      $start = $start+$end;
   }
}
icon_smile.gif

Submit your blog to the sex blogs list. PR=3 Quickly approve! 10 posts min. Ping every 6 hour!

4
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »