![]() |
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> а все остальные ссылки не трогал ? реально ли такое ? |
Определенные - это какие?
|
ставь условие и проверяй то что тебе нужно
|
Так я не шарю в этом вообще я на уровне пользователя PHP понимаю..
Определенные это мне нужно пропарисить сайт или документ и вывести все ссылки <a href=example.com>HELLO WORLD</a> А лучше так ( Находим только ссылку Example.com удаляем ее и оставляем только HELLO WORLD.. Можно так ? что бы находило определенную ссылку и выводило только слово HELLO WORLD без ссылки ? |
PHP код:
|
preg_match_all('#href=example.com>(HELLO WORLD)#', $code, $matches);
echo $matches[1]; |
можно в обычном блокноте сделать замену в исходнике
<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 ссылки и вывести только (Любой текст) |
preg_match_all('#href=example.com>([a-zA-Z0-9_-]*)</a>#', $code, $matches);
|
Напишите полный код ! у меня не работает .т.е не чег оне выводит !!!
<?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 может быть любой текст) |
да всё понятно. мы ничего не мутим. или на сайте нет ссылок или они ни в тегах или ты неправильно адрес задаёш. дай реальный адрес сайта, я проверю. можно в личку
|
Я проверял на 3 сайтах де есть ссылки не работает проверь ты если у тя денвер стоит
|
Ну вот. ) в тупике все )))
|
1. [a-zA-Z0-9_-]* с кириллицей не прокатит.
2. Не забываем про кавычки при парсинге. 3. Линки есть и c http:// Вот так должно работать с выборкой по сайту PHP код:
|
PHP код:
|
preg_match_all('#href=[\'"](.*)mysite.com(.*)[\'"]#i', $code, $matches);
Этот работает только он почемуто выдирает с картинаками http://site.in.com/blablabla/"><img src="http://site.in.com/blablabla" alt="Nameofimages"> Как убрать картинки ? А так все классно то что надо !! ghostwizard Мне можеш дать ссылку где об этом почитать что бы усовершенсвовать можно было ? т.е я почитаю и буду сам потом эксперементировать ты мне помог с самым начало ибо я в php только на уровне кода там модифицировать что то заменить и так по мелочи а вот это для меня всегда был полный лес эти выражение чи шо там оно.. ) |
А если так ?
<a class="smallblu" href="http://site.in/blablalbla">qwerttt</a> Если все выдереть после класса ??? то можно так может так будет проще мне чем искать все ссылки на странице ? |
там разный классы для ссылок,так будет тянуть линки с одним классом.
|
PHP код:
|
Цитата:
http://www.pcre.ru/ |
Слава богу там адин класс визде стоит .. те где нужно парсить там он и стоит )))
<a class="smallblu" href="http://site.in/blablalbla">qwerttt</a> Класс стоит на всех мне нужных ссылках )) Бутыка нет. если все получиться с мегя любая графическая работа. 2D 3D WEB DESIGN |
Нет там что то не то с классами много мусора выводит... там класс стоит только где мне нужно а оно выводит то что нужно и плюсь еще пол контента.
Вот самый оптимальный вариант из ответов сдесь <?php $code=file_get_contents('http://site.com'); preg_match_all('#href=[\'"](.*)site.com.in(.*)[\'"]#i', $code, $matches); print_r($matches[1]); ?> Выводит [6] => http://site.com.in/blablabla/?top=1"><img src="http://site.com.in" alt="BLABLABLA"></a> Так вот . Это бла бля бла есть в АЛЬТЕ ! т.е текс цены который мне нужен етьс в АЛЬТЕ картинки.. Так вот (Если чесно у мя башка уже разрываеться..))) Мне надо это BLABLABLA вытащить чистым в столбик ... Уже не знаю как обьяснить но самый оптимальный вариаент это |
Скажи сайт, с которого парсить надо.
|
http://digiland.libero.it/ricerca_persone.php
Там смотри есть 8 картинок с именами вот те имена мне и нужны без картинок в столбик. |
Уже задолбался ото не знаю языка а потом как приспичит шо то сделать сидиш голова разрываеться ))) от непонимание этих регуляров.. я с ними 1 раз просто сталкиваюсь..
|
Так что ли?
PHP код:
|
ДАААААААААААААААААААААА !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!
preg_match_all('/114" alt="(.+?)"><\/a>/', $content, $match); А можеш чуть чуть разьяснить что ты сделал ? Ище и написал так чтоли ? )) типа раз два и сделал ))) ну это для тебя кто знает ))) тому просто ))) |
/114" alt="(.+?)"><\/a>/ - ищет все вхождение текста 114" alt="текст"></a>, где в параметре alt 1 или более симолов
|
О хитрюга необыкновенус 114 это высота т.е я так понял альт будет не какой папало а в каком есть значение height-114 =)))
Будем разбераца. Я просто хочу парсер ников в коммунити сделать. В бущем будет 2 проблема... Ведь парсер когда парсит он только заданный URL ? а как задать ему что бы он пропарисил скажем 100 урл ? Если это реально |
Цитата:
PHP код:
|
| Время: 13:24 |