X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как извлекать ссылки, используя их часть как признак?
slava34
slava34
Topic Starter сообщение 16.2.2012, 12:12; Ответить: slava34
Сообщение #1


Через регулярку, но надо, что бы она была универсальная т.е. подставил признак - получил первый url содержащий этот признак.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 16.2.2012, 14:17; Ответить: Witu
Сообщение #2


http://php.net/manual/ru/function.preg-match.php
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%...%BD%D0%B8%D1%8F

думаю поможет
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pavelsc
pavelsc
сообщение 16.2.2012, 15:06; Ответить: pavelsc
Сообщение #3


(HTMLandPHP @ 14.2.2012, 18:36) *
через регулярные выражения

Вы издеваетесь? Ну-ну парсить html регекспами. Для вас даже тема в инете есть что так не надо делать.

html agility pack если под visual studio, или phpQuery если под пхп надо.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
slava34
slava34
Topic Starter сообщение 28.2.2012, 12:45; Ответить: slava34
Сообщение #4


(HTMLandPHP @ 16.2.2012, 17:17) *


Возьметесь написать вышеуказанный скриптик?
Если да то примерно за сколько?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 29.2.2012, 0:25; Ответить: ZhukV
Сообщение #5


(pavelsc @ 16.2.2012, 18:06) *
Вы издеваетесь? Ну-ну парсить html регекспами. Для вас даже тема в инете есть что так не надо делать.

html agility pack если под visual studio, или phpQuery если под пхп надо.


Ну вообще то здесь вопрос задали, и не нужно сразу так похамливать....



slava34, есть несколько вариантов.
Как для новичка, можете попробовать регулярки, они все же проще но со глюками.
Если же нормально делать, я бы взял DOMDocument & DOMXpath

Предположем, что у $dom у вас загружен корректно документ (о глюках и их исправлениях - http://api.drupal.org/api/drupal/modules%2...lter_dom_load/7)
Знайте, что лучше кидать UTF-8
А делее через XPath обращаемся к тем данным которые нужно:
[PHP]
$xpath = new DOMXPath($dom);

$links = $xpath->query('//a');
$now = 0;
while ($link = $links->item($now)) {
$now++;
print $link->getAttribute('href');
}
[/PHP]

или же на чистом доме

[PHP]$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
print $link->getAttribute('href');
}[/PHP]

Лучше всего использовать XPath, так как у него очень сильный функционал.

Писал код с фанаря, могут быть очепятки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 29.2.2012, 7:59; Ответить: Witu
Сообщение #6


pavelsc, вот допустим есть много ссылок на странице примерно такого вида

http://google.com/web/projects/{уникальный_id}
http://google.com/web/projects/show/changelog
http://google.com/web/projects/{уникальный_id}/changelog

и мы хотим вытащить все ссылки в которых есть /projects/{уникальный_id}/changelog

как вы это сделаете без регулярки?
может быть через for от 0 до 999999999 и проверят strpos'ом?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
slava34
slava34
Topic Starter сообщение 2.3.2012, 9:40; Ответить: slava34
Сообщение #7


(ZhukV @ 29.2.2012, 03:25) *
Ну вообще то здесь вопрос задали, и не нужно сразу так похамливать....



slava34, есть несколько вариантов.
Как для новичка, можете попробовать регулярки, они все же проще но со глюками.
Если же нормально делать, я бы взял DOMDocument & DOMXpath


Большое спасибо, для меня больше подходят регулярки, так как работаю с Xedant Human Emulator, он их хорошо понимает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 2.3.2012, 12:01; Ответить: Den1xxx
Сообщение #8


(pavelsc @ 16.2.2012, 18:06) *
Для вас даже тема в инете есть что так не надо делать.

С каких пор то, что неизвестно кто написал в интернете, стало автоматически аксиомой?
Разбирайте лучше конкретный случай: допустим, в этом случае лучше не писать регулярки. И почему.
А то вот мне например непонятно почему — он ведь пытается анализироватьтеги a имеющие определенные признаки допустим href
Их можно парсить регуляркой, имхо. Поисковики и браузеры же как-то парсят.

А то скатываесь до безосновательных холиваров: «Только Виндовсом нужно пользоваться!» или «Блочная верстка должна использоваться в любом случае!».
Смешно.

Зы. По ссылке pavelsc нашлась замечательная фраза:
Every time you attempt to parse HTML with regular expressions, the unholy child weeps the blood of virgins, and Russian hackers pwn your webapp.
Ха-ха. Как они оказывается боятся русских хакеров.

Вообще судя по тому что написано ниже, человек просто болен. Психически. Ну или косит под больного.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 2.3.2012, 12:26; Ответить: alexdrob
Сообщение #9


(Den1xxx @ 2.3.2012, 15:01) *
С каких пор то, что неизвестно кто написал в интернете, стало автоматически аксиомой?

То есть вы должны официально признать высказывание что бы оно стало аксиомой?
И при чём тут вообще аксиома?
(pavelsc @ 16.2.2012, 18:06) *
что так не надо делать.

Это не аксиома а совет.

(Den1xxx @ 2.3.2012, 15:01) *
Разбирайте лучше конкретный случай: допустим, в этом случае лучше не писать регулярки.

А он не то же самое сказал?

(Den1xxx @ 2.3.2012, 15:01) *
А то скатываесь до безосновательных холиваров: «Только Виндовсом нужно пользоваться!» или «Блочная верстка должна использоваться в любом случае!».

Странно, если я делаю сервер игры - я выбираю линукс, если дома для просмотра фильмов и что бы можно было поиграть - я ставлю виндовс.
Теперь смотрим данную тему: если нужно получить значение атрибута - то используем DOM.
Где тут утверждение что вообще не нужно использовать регулярки в других случаях?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 2.3.2012, 12:34; Ответить: Den1xxx
Сообщение #10


alexdrob, перечитайте еще раз, а то пишете абы что.
[B]pavelsc [/B]сказал, что html вообще нельзя парсить регуляркой , потому что вот здесь есть ссылка.
Так вот, это неправда. Html можно парсить регуляркой.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вечные ссылки с 300+ СДЛов, тиц до 750, ЯКи, DMOZ, от 1$/ссылка
вечные ссылки
258 SeoUaSales 128375 Вчера, 23:39
автор: FantAlexis
Открытая тема (нет новых ответов) Куплю ссылки тематика steam игры eng
0 c4p1t4l15t 523 26.3.2024, 21:57
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1117 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) SEO Линк Билдинг под Бурж | Вечные ссылки США, Европа и Мир с Гарантией
18 Needmylink1 6539 25.3.2024, 20:51
автор: Needmylink1
Открытая тема (нет новых ответов) Нужны ссылки с adult сайтов
3 TABAK 8035 25.3.2024, 13:44
автор: Wilkinson


 



RSS Текстовая версия Сейчас: 28.3.2024, 18:56
Дизайн