Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод определенного количества слов
 
 автор: moonfox   (16.06.2006 в 00:41)   письмо автору
 
 

привет!

нужно из базы вывести из всего текста скажем первых 40 слов... как это сделаь?
читал про strstr substr... но что не то ...

   
 
 автор: KPETuH   (16.06.2006 в 07:29)   письмо автору
 
   для: moonfox   (16.06.2006 в 00:41)
 

первое что на ум приходит и можно реализовать на любом языке, разбиваешь текст на слова заносишь слова в массив а потом выводишь первые 40 елементов массива.

   
 
 автор: moonfox   (16.06.2006 в 09:13)   письмо автору
 
   для: KPETuH   (16.06.2006 в 07:29)
 

explode/...

я незнаю как одной строкой кода вывести 40 елемнгтов массива.. а писать что то типа echo $h[0]; 40 раз это ...

   
 
 автор: NFR   (16.06.2006 в 09:27)   письмо автору
 
   для: moonfox   (16.06.2006 в 00:41)
 

Может не лучший скрипт... Но я делал именно так;-Р

<?
$new 
"Бла бла бла бла бла..."//Текст, который читается...
$newcr ''//Строка, которая будет выводится...

$newm explode(" "$new); //Делим текст на слова...
$space ' '//А этим пробелом можно словать соединять... А ещё это можно будет поменять на любой другой символ...

for ($i=0$i<40$i++) //И считаем слова до сорока...
{
$newcr $newcr.$space.$newm[$i]; //И пихаем все слова в одну строку...
?>
echo $newcr;

   
 
 автор: KPETuH   (16.06.2006 в 09:48)   письмо автору
 
   для: NFR   (16.06.2006 в 09:27)
 

именно про это я и говорил :)

   
 
 автор: kadet   (16.06.2006 в 09:50)   письмо автору
 
   для: NFR   (16.06.2006 в 09:27)
 

Поправил не много NFR :)


<?
$new 
"Бла бла бла бла бла..."//Текст, который читается...
$newcr ''//Строка, которая будет выводится...

$newm explode(" "$new); //Делим текст на слова...
$space ' '//А этим пробелом можно словать соединять... А ещё это можно будет поменять на любой другой символ...

for ($i=0$i<40$i++) //И считаем слова до сорока...
{
$newcr $newcr.$space.$newm[$i]; //И пихаем все слова в одну строку...
}
echo 
$newcr;


?>

   
 
 автор: NFR   (16.06.2006 в 12:31)   письмо автору
 
   для: kadet   (16.06.2006 в 09:50)
 

поправил, млин;-Р

   
 
 автор: kadet   (16.06.2006 в 12:57)   письмо автору
 
   для: NFR   (16.06.2006 в 12:31)
 

А что, чтото не так? я просто } скобку не там поставил, ошибся

   
 
 автор: valenok   (16.06.2006 в 14:48)   письмо автору
 
   для: moonfox   (16.06.2006 в 00:41)
 

Ктото давно не посещал официальный сайт php..
str_word_count -- Возвращает информацию о словах, входящих в строку

   
 
 автор: KPETuH   (16.06.2006 в 14:56)   письмо автору
 
   для: valenok   (16.06.2006 в 14:48)
 

век живи век у чись а теперь напиши как ты из строки выведешь первые 40 слов? помоему без цикла все равно не обойдешся. и код твой короче так же не будет?

   
 
 автор: valenok   (16.06.2006 в 15:03)   письмо автору
 
   для: KPETuH   (16.06.2006 в 14:56)
 

Ну само собой без цикла не обойтись.
Но помойму всё таки короче:


<?php
$string
="Век живи, век учись....";
$str str_word_count($string);
for(
$i=0;$i<40;$i++){ echo $str[$i];}


Может это дело вкуса...
Мне так больше нравится.
Если у тебя есть время и не трудно..- порверь по скорости пожалуйсто...

   
 
 автор: moonfox   (16.06.2006 в 19:48)   письмо автору
 
   для: valenok   (16.06.2006 в 15:03)
 

блин сам удивляюсь вчера ничего в голову не приходило а сегодня утром на работе написал именно то что предложил NFR ... про word count - нечего незнал... но походу с ним лучше

спасибо всем

   
 
 автор: Artem S.   (16.06.2006 в 20:10)   письмо автору
 
   для: moonfox   (16.06.2006 в 19:48)
 

пример с того же php.net

echo implode(" ", array_slice(preg_split("/\s+/", $string), 0, 40));

   
 
 автор: valenok   (16.06.2006 в 20:47)   письмо автору
 
   для: Artem S.   (16.06.2006 в 20:10)
 

А дальше я читать поленился =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования