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

Форум PHP

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

 

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

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

тема: регулярные выражения
 
 автор: schiz   (20.11.2014 в 23:14)   письмо автору
 
 

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

начало есть, а как искать не знаю
<?php

  
function LoadPage($ref) {
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$ref);
    
curl_setopt($chCURLOPT_HEADER0);
    
curl_setopt($chCURLOPT_RETURNTRANSFER 1);
    
$res curl_exec($ch);
    
curl_close($ch);
    return(
$res);
  }  

  
//забираем заголовки новостей с одной страницы
  
function Zagolovki($htmldata) {
    
preg_match_all('/<a\s*href="\/news\/hard\/index\.shtml\?(\d{1,3}\/\d{1,3}\/\d{1,3})'.
                   
'"\s*class="nl_nw_link">(.*)<\/a>/Ui',
                   
$htmldata$datPREG_SET_ORDER);
    return (
$dat);
  }

  Ответить  
 
 автор: confirm   (21.11.2014 в 21:13)   письмо автору
 
   для: schiz   (20.11.2014 в 23:14)
 

Чего вам нужно то?
Если в конечном итоге ссылки на эти новости сформировать, то зачем получаете параметры их, а не сами ссылки?
И причем тут содержащие в тексте или заголовке введённое в форму ключевое слово, хотите устроить поиск на чужом сайте или что?

  Ответить  
 
 автор: schiz   (21.11.2014 в 21:37)   письмо автору
 
   для: confirm   (21.11.2014 в 21:13)
 

>Чего вам нужно то?
>Если в конечном итоге ссылки на эти новости сформировать, то зачем получаете параметры их, а не сами ссылки?
>И причем тут содержащие в тексте или заголовке введённое в форму ключевое слово, хотите устроить поиск на чужом сайте или что?

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

  Ответить  
 
 автор: confirm   (21.11.2014 в 21:41)   письмо автору
 
   для: schiz   (21.11.2014 в 21:37)
 

Поиск на чужом сайте, это Гугл вам в помощь. По крайней мере был у него такой инструмент.

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

  Ответить  
 
 автор: schiz   (21.11.2014 в 21:49)   письмо автору
 
   для: confirm   (21.11.2014 в 21:41)
 

>Поиск на чужом сайте, это Гугл вам в помощь. По крайней мере был у него такой инструмент.
>
>Если хотите сами выдать такие ссылки, то получайте массив ссылок, а проходом в цикле оставляйте только те, в которых найдете искомое слово, и для его поиска в ссылке совсем не нужны рег. выражения.

а как отсортировать именно за последний месяц?

  Ответить  
 
 автор: confirm   (21.11.2014 в 21:51)   письмо автору
 
   для: schiz   (21.11.2014 в 21:49)
 

А они что кучей за год на сайте или все таки можно запросить только за интересующий месяц?
Если можно получить за месяц и вы знаете по какому параметру, запрашивайте за последний месяц.

  Ответить  
 
 автор: schiz   (21.11.2014 в 22:09)   письмо автору
 
   для: confirm   (21.11.2014 в 21:51)
 

>А они что кучей за год на сайте или все таки можно запросить только за интересующий месяц?
>Если можно получить за месяц и вы знаете по какому параметру, запрашивайте за последний месяц.
а есть пример подобной организации поиска?

  Ответить  
 
 автор: confirm   (22.11.2014 в 00:24)   письмо автору
 
   для: schiz   (21.11.2014 в 22:09)
 

Можно не цитировать всю мою писанину полностью, я и так пойму.

Вы заметили, что я вам задаю вопросы? А это означает, что я не имею представления что вы делаете и что за данные получаете. Если то что ввел ваш пользователь, вы подставляете в url запроса к стороннему серверу, а он тупой и производит поиск, и выдает результат его, то это одно. Если все таки сторонний сервер умный и для всех кому не лень париться с поиском не будет, то это другое. Если первое и ищет не только по слову, но и по дате, это третье, а если нет, то четвертое.

И что я вам должен показать?

  Ответить  
 
 автор: schiz   (22.11.2014 в 15:56)   письмо автору
 
   для: confirm   (22.11.2014 в 00:24)
 

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

  Ответить  
 
 автор: confirm   (22.11.2014 в 18:26)   письмо автору
 
   для: schiz   (22.11.2014 в 15:56)
 

Тогда лучше поступить следующим образом, один раз, при добавлении этого блока:

1. Получить рег. выражением по параметру определяющему месяц ссылки за последний.
2. Создать массив, который будет хранить url ссылок и их текст.
2. Сохранить этот массив в файл как сериализованный или json.

При запросе на поиск, получать этот массив и искать в нем.

  Ответить  
 
 автор: schiz   (22.11.2014 в 18:55)   письмо автору
 
   для: confirm   (22.11.2014 в 18:26)
 

как это все написать?) я с регуляками не особо другу :(

  Ответить  
 
 автор: confirm   (22.11.2014 в 19:15)   письмо автору
 
   для: schiz   (22.11.2014 в 18:55)
 

Искать в url параметр определяющий месяц, а что его определяет я не знаю.
Зайдите в этот раздел, там много примеров как получить адрес ссылки (вам нужно только то что заключено href="тут"). Ну а далее, если у url параметр определяющий месяц равен текущему, значит сохраняете этот url и текст ссылки, его можно получить как strip_tags примененному к тегу А (если поиск осуществляется уже в полученном массиве ссылок, то поиск вернет и ее).

  Ответить  
Rambler's Top100
вверх

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