Привет всем вот накопал парсер <?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> а все остальные ссылки не трогал ? реально ли такое ?
Так я не шарю в этом вообще я на уровне пользователя PHP понимаю.. Определенные это мне нужно пропарисить сайт или документ и вывести все ссылки <a href=example.com>HELLO WORLD</a> А лучше так ( Находим только ссылку Example.com удаляем ее и оставляем только HELLO WORLD.. Можно так ? что бы находило определенную ссылку и выводило только слово HELLO WORLD без ссылки ?
PHP: <?php $site=file_get_contents('http://yandex.ru'); preg_match_all('|<a href="(.*?)">(.*?)</a>|is', $site, $out); print_r($out[2]); ?> tc
можно в обычном блокноте сделать замену в исходнике <a href=example.com> на пусто или чтото другое после парсинга конешн
А оно будет выдавать по разному ?? ибо там где 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 ссылки и вывести только (Любой текст)
Напишите полный код ! у меня не работает .т.е не чег оне выводит !!! <?php $code=file_get_contents('site.com'); preg_match_all('#href=example.com>([a-zA-Z0-9_-]*)#', $code, $matches); echo $matches[1]; ?> Не роботает.
да, я кое что забыл. испарвил предыдущий пост. попробуй ещё раз с исправленым или попробуй так. остальной код у тебя ок. preg_match_all('#href=example.com>(.*)#', $code, $matches);
<?php $code=file_get_contents('site.com'); preg_match_all('#href=example.com>(.*)#', $code, $matches); echo $matches[1]; ?> Выводит только Array
бля опять забыл закрыть тег ((( preg_match_all('#href=example.com>(.*)</a>#', $code, $matches); а как с другим исправленным вариантом? preg_match_all('#href=example.com>([a-zA-Z0-9_-]*)</a>#', $code, $matches);
<?php $code=file_get_contents('http://site.com'); preg_match_all('#href=site.write.com>([a-zA-Z0-9_-]*)</a>#', $code, $matches); print_r($matches[1]); ?> Не Работает не знаш шо вы там мутите мне массив пустой вылетает ! Может потому что сайт www.site.in.com две точки ? .in.com ? Есть определенные ссылки в странице <a href=www.site.in.com>QWERT</a> Мне нужно пропарисить только ссылки с именем www.site.in.com bи вывести только QWERTY (вместо QWERT может быть любой текст)
да всё понятно. мы ничего не мутим. или на сайте нет ссылок или они ни в тегах или ты неправильно адрес задаёш. дай реальный адрес сайта, я проверю. можно в личку
1. [a-zA-Z0-9_-]* с кириллицей не прокатит. 2. Не забываем про кавычки при парсинге. 3. Линки есть и c http:// Вот так должно работать с выборкой по сайту PHP: preg_match_all('#href=[\'"](.*)mysite.com(.*)[\'"]#i', $code, $matches); # любой линк вида mysite.com/blabla/i.html, http://mysite.com, mysite.com preg_match_all('#href=[\'"](.*)mysite.com[\'"]#i', $code, $matches); # любой линк http://mysite.com или mysite.com