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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделить тегами первую строчку, нужно в тексовый файл перед записью выде 
:(
    Опции темы
andreyka
Дата 4.7.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем
Есть такая проблемма имеется текст на пример  

Код

В связи с чем К.Бакиев перечислил имена врачей, благодаря которым кыргызская медицина получила мировую признательность - Алтмышбаев, М.Миррахимов, М. Мамакеев, Э. Акрамов и др. Спасибо вам, дорогие ветераны, за самоотверженный труд, добросовестное отношение к своему делу, за развитие отечественной медицины и за воспитание опытных специалистов»


мне нужно  из этого текста  первые 5 слов обрамить тегами  <h1></h1>
Как можно сделать подскажите пожалуйста.Искал не смог найти нигде
PM MAIL   Вверх
bars80080
Дата 4.7.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



explode(' ', $str); - разбить, добавить нужные тэги к 0 и 4 слову и склеить обратно implode()

либо искать решение на регулярках
PM MAIL WWW   Вверх
andreyka
Дата 4.7.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(bars80080 @ 4.7.2008,  17:13)
explode(' ', $str); - разбить, добавить нужные тэги к 0 и 4 слову и склеить обратно implode()


либо искать решение на регулярках

Спасибо попробую . Хотя регулярки помоему  не лучшее решение

Мне кажется   можно  попробовать считать первую строку и обрамить ее тегами 
PM MAIL   Вверх
amg
Дата 5.7.2008, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Регуляркой это сделать очень легко, к тому же, в одну строку:
Код
$str = preg_replace('/^\s*((?:\S+\s+){4}\S+)/', '<h1>$1</h1>', $str);

Насчет не лучшего решения -- не знаю как в PHP, но в перле аналогичная конструкция работала бы быстрее, чем разбить-обрамить-склеить строку.
PM MAIL   Вверх
Feldmarschall
Дата 5.7.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Вообще-то,  превращать большой текст в массив ради первых 5 слов - не самая хорошая идея, которая может придти в голову веб-разработчику. Думающему разработчику, разумеется. А не разработчику системы копи-пасте.

Цитата(andreyka @  4.7.2008,  19:07 Найти цитируемый пост)
Мне кажется   можно  попробовать считать первую строку и обрамить ее тегами  

Это хорошая идея. тем более, что понятия "строка" и "первые 4 слов" несколько различаются.
И для выделения строки даже регулярки будут не нужны.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




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


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

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