|
|
|
| Здравствуйте!
помогите пожалуйста с написанием функций.. нужно найти все новости (например, аппаратного обеспечения) на чужом сайте за последний месяц, содержащие в тексте или заголовке введённое в форму ключевое слово (важно, что за весь последний месяц). поиск нужно осуществить с помощью регулярных выражений.
начало есть, а как искать не знаю
<?php
function LoadPage($ref) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ref);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_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, $dat, PREG_SET_ORDER);
return ($dat);
}
|
| |
|
|
|
|
|
|
|
для: schiz
(20.11.2014 в 23:14)
| | Чего вам нужно то?
Если в конечном итоге ссылки на эти новости сформировать, то зачем получаете параметры их, а не сами ссылки?
И причем тут содержащие в тексте или заголовке введённое в форму ключевое слово, хотите устроить поиск на чужом сайте или что? | |
|
|
|
|
|
|
|
для: confirm
(21.11.2014 в 21:13)
| | >Чего вам нужно то?
>Если в конечном итоге ссылки на эти новости сформировать, то зачем получаете параметры их, а не сами ссылки?
>И причем тут содержащие в тексте или заголовке введённое в форму ключевое слово, хотите устроить поиск на чужом сайте или что?
допустим на моем сайте есть форма поиска, которая ссылается на чужой сайт (на определенный блок новостей). мне нужно с помощью регулярок вытащить с этого блока все новости (за последний месяц, это важно), по ввденному слову, и вывести результат на моем сайте. фактически да, организовать поиск по чужому сайту | |
|
|
|
|
|
|
|
для: schiz
(21.11.2014 в 21:37)
| | Поиск на чужом сайте, это Гугл вам в помощь. По крайней мере был у него такой инструмент.
Если хотите сами выдать такие ссылки, то получайте массив ссылок, а проходом в цикле оставляйте только те, в которых найдете искомое слово, и для его поиска в ссылке совсем не нужны рег. выражения. | |
|
|
|
|
|
|
|
для: confirm
(21.11.2014 в 21:41)
| | >Поиск на чужом сайте, это Гугл вам в помощь. По крайней мере был у него такой инструмент.
>
>Если хотите сами выдать такие ссылки, то получайте массив ссылок, а проходом в цикле оставляйте только те, в которых найдете искомое слово, и для его поиска в ссылке совсем не нужны рег. выражения.
а как отсортировать именно за последний месяц? | |
|
|
|
|
|
|
|
для: schiz
(21.11.2014 в 21:49)
| | А они что кучей за год на сайте или все таки можно запросить только за интересующий месяц?
Если можно получить за месяц и вы знаете по какому параметру, запрашивайте за последний месяц. | |
|
|
|
|
|
|
|
для: confirm
(21.11.2014 в 21:51)
| | >А они что кучей за год на сайте или все таки можно запросить только за интересующий месяц?
>Если можно получить за месяц и вы знаете по какому параметру, запрашивайте за последний месяц.
а есть пример подобной организации поиска? | |
|
|
|
|
|
|
|
для: schiz
(21.11.2014 в 22:09)
| | Можно не цитировать всю мою писанину полностью, я и так пойму.
Вы заметили, что я вам задаю вопросы? А это означает, что я не имею представления что вы делаете и что за данные получаете. Если то что ввел ваш пользователь, вы подставляете в url запроса к стороннему серверу, а он тупой и производит поиск, и выдает результат его, то это одно. Если все таки сторонний сервер умный и для всех кому не лень париться с поиском не будет, то это другое. Если первое и ищет не только по слову, но и по дате, это третье, а если нет, то четвертое.
И что я вам должен показать? | |
|
|
|
|
|
|
|
для: confirm
(22.11.2014 в 00:24)
| | нужно с чужого сайта взять определенный блок,например,новостей, отразить его на своем сайте (это сделано) и уже по этому перенесенному блоку искать ключевое слово. обязательно выводить результат поиска за последний месяц. получается этот блок будет своеобразной базой. весь поиск нужно обязательно организовать с помощью регулярок. | |
|
|
|
|
|
|
|
для: schiz
(22.11.2014 в 15:56)
| | Тогда лучше поступить следующим образом, один раз, при добавлении этого блока:
1. Получить рег. выражением по параметру определяющему месяц ссылки за последний.
2. Создать массив, который будет хранить url ссылок и их текст.
2. Сохранить этот массив в файл как сериализованный или json.
При запросе на поиск, получать этот массив и искать в нем. | |
|
|
|
|
|
|
|
для: confirm
(22.11.2014 в 18:26)
| | как это все написать?) я с регуляками не особо другу :( | |
|
|
|
|
|
|
|
для: schiz
(22.11.2014 в 18:55)
| | Искать в url параметр определяющий месяц, а что его определяет я не знаю.
Зайдите в этот раздел, там много примеров как получить адрес ссылки (вам нужно только то что заключено href="тут"). Ну а далее, если у url параметр определяющий месяц равен текущему, значит сохраняете этот url и текст ссылки, его можно получить как strip_tags примененному к тегу А (если поиск осуществляется уже в полученном массиве ссылок, то поиск вернет и ее). | |
|
|
|