Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод первых нескольких слов, типа краткое превью статьи 
V
    Опции темы
dstorm81
Дата 6.6.2007, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



доброго здравия люди добрые..
надысь, для производственных нужд, написал свою функцию по выводу нескольких начальных слов из длинющего текста (с тегами).
вроде как краткое превью того что написано в статейке.
написал и засумневался, может в php5 уже реализована такая функция
если не сложно развейте мои сомнения, или линк укажите на эту вшитую функцию.





--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
rMaveric
Дата 6.6.2007, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 18.7.2003

Репутация: 3
Всего: 6



Ну а чем тебе вывод определенного кол-ва символов не устраивает???


--------------------
Моя благодарность не будет иметь границ. в определенных рамках конечно ;)
---
Веду IT блог
PM MAIL WWW ICQ   Вверх
FrRon
Дата 6.6.2007, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2007

Репутация: 1
Всего: 1



dstorm81

Код

<?php

 $wrd = explode(" ", $text);
 For ($i = 0; $i <= $a; $i++)
  echo ($wrd[$i]);

?>


Где $a - сколько слов нужно вывести.



rMaveric

Например то что слово не целиком выведется ;)

Это сообщение отредактировал(а) FrRon - 6.6.2007, 09:05
PM MAIL   Вверх
dstorm81
Дата 6.6.2007, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



Добавлено @ 09:10
2 FrRon я тебя запомнил, проверю дома твой вариант. если работает то +
еже ли не работает то 2 - за сомоуверенность smile
шутка smile




Это сообщение отредактировал(а) dstorm81 - 6.6.2007, 09:13


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
FrRon
Дата 6.6.2007, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.5.2007

Репутация: 1
Всего: 1



Вот, глянь =)

Код

<?php

    $text = "слово1 слово2 слово3 слово4 <br /> слово4";
    $a = explode (" ", $text);
    For ( $i = 0; $i <= 2; $i++ )
        echo ($a[$i]);

?>


Вывод : "слово1слово2слово3".
PM MAIL   Вверх
dstorm81
Дата 6.6.2007, 09:44 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



да это я ступил сдецел в строке вместо <br />  [br/] будет, так что все путем будет smile


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
CyClon
Дата 6.6.2007, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Нужно вывести не просто некоторое кол-во слов, а некоторое-кол-во слов и точку. Не совсем это правильно, на середине предложения останавливаться smile


--------------------
user posted image
PM   Вверх
CyClon
Дата 6.6.2007, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



Че-то типа того:

Код
<?php

$text = "Здесь будет мой очень длинный текст. Превью будет выводится до первой точки после 30 слова или до первого переноса строки.";

$p = explode('<br />', $text);

$words = explode(' ', $p[0]);

if (sizeof($words) > 30) {
    if (($pos = strpos($p[0], '.', 30)) !== false) {
        echo substr($p[0], 0, $pos);
    } else {
        echo $p[0];
    }
} else {
    echo $p[0];
}

?>



--------------------
user posted image
PM   Вверх
dstorm81
Дата 6.6.2007, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 1
Всего: 39



2 цыклон||циклон 
неа все правильно, делается для того чтобы придать незавершенность... заинтересовать скажем так человека.
такая ТЗ вообщем.
тему закрываю


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
BuShaRt
Дата 6.6.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Цитата(dstorm81 @  6.6.2007,  12:21 Найти цитируемый пост)
неа все правильно, делается для того чтобы придать незавершенность... заинтересовать скажем так человека.

Суть не меняеться, а организация у циклона лучше.
PM MAIL   Вверх
sTa1kEr
Дата 8.6.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



FrRon, таким способом можно разрезать тэг пополам, будет не очень красиво выглядеть. Я бы предложил использовать регулярные выражения. Что-нибудь вроде этого:
Код

$n = 7;
$text = "PHP is a <b>widely-used</b> general-purpose <br /> scripting language that is especially suited for Web development and can be embedded into HTML.";
preg_match("@(?:<[^>]+>\s*|[^\s]+\s*){0,$n}@is", $text, $match);
echo $match[0]; // PHP is a <b>widely-used</b> general-purpose <br />


Это сообщение отредактировал(а) sTa1kEr - 8.6.2007, 22:06
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0880 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.