Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Parser определенных ссылок ? |

30.06.2009, 11:38
|
|
Постоянный
Регистрация: 23.05.2005
Сообщений: 617
Провел на форуме: 1262031
Репутация:
71
|
|
Parser определенных ссылок ?
Привет всем вот накопал парсер
<?php
$code = file_get_contents('http://site.com');
preg_match_all('#href=[\'"]([^\'"]+)[\'"]#i', $code, $matches);
echo '<pre>'.print_r($matches[1], true);
?>
Он выдерает ссылки.
Как мне сделать так что бы он выдерал определенные ссылки ? а не все подряд к пример ссылку типа
<a href=example.com>HELLO WORLD</a>
а все остальные ссылки не трогал ? реально ли такое ?
|
|
|

30.06.2009, 11:52
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Определенные - это какие?
|
|
|

30.06.2009, 11:54
|
|
Постоянный
Регистрация: 29.10.2007
Сообщений: 381
Провел на форуме: 651930
Репутация:
65
|
|
ставь условие и проверяй то что тебе нужно
|
|
|

30.06.2009, 12:08
|
|
Постоянный
Регистрация: 23.05.2005
Сообщений: 617
Провел на форуме: 1262031
Репутация:
71
|
|
Так я не шарю в этом вообще я на уровне пользователя PHP понимаю..
Определенные это мне нужно пропарисить сайт или документ и вывести все
ссылки
<a href=example.com>HELLO WORLD</a>
А лучше так ( Находим только ссылку Example.com удаляем ее и оставляем только HELLO WORLD..
Можно так ? что бы находило определенную ссылку и выводило только слово HELLO WORLD без ссылки ?
|
|
|

30.06.2009, 12:11
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
PHP код:
<?php
$site=file_get_contents('http://yandex.ru');
preg_match_all('|<a href="(.*?)">(.*?)</a>|is', $site, $out);
print_r($out[2]);
?>
tc
|
|
|

30.06.2009, 12:14
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
preg_match_all('#href=example.com>(HELLO WORLD)#', $code, $matches);
echo $matches[1];
|
|
|

30.06.2009, 12:18
|
|
Познающий
Регистрация: 13.12.2008
Сообщений: 96
Провел на форуме: 854356
Репутация:
151
|
|
можно в обычном блокноте сделать замену в исходнике
<a href=example.com> на пусто или чтото другое
после парсинга конешн
|
|
|

30.06.2009, 12:20
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
зачем? если так как я написал, он выдирает только текст.
|
|
|

30.06.2009, 12:33
|
|
Постоянный
Регистрация: 23.05.2005
Сообщений: 617
Провел на форуме: 1262031
Репутация:
71
|
|
А оно будет выдавать по разному ?? ибо там где HELLO WORLD идет вида
HELLO WORLD1
HELLO WORLD2
WORLD HELLO4
Wildshaman
<?php
$site=file_get_contents('http://yandex.ru');
preg_match_all('|<a href="(.*?)">(.*?)</a>|is', $site, $out);
print_r($out[2]);
?>
Вырезает то что нужно...
Мне нужно вот как отсеить
<a href=example.com>Любой текст</a>
Пропарсить только example.com ссылки и вывести только (Любой текст)
|
|
|

30.06.2009, 12:40
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме: 3516666
Репутация:
439
|
|
preg_match_all('#href=example.com>([a-zA-Z0-9_-]*)</a>#', $code, $matches);
Последний раз редактировалось BrainDeaD; 30.06.2009 в 12:47..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|