Xwab
Форумыnavigate_nextПрограммирование на PHP

Учимся писать граберы
Сообщения
Swinger

Karayazi, ссылки можно вырезать через регулярку =\

20 Июл 2010, 21:58
Dynamovec

Karayazi, шапку ж так вырезать?

$file = preg_replace('|<!DOCTYPE(.*?)<body>|sU', '', $file); ???

И как лучше ссылки вырезать?
$file=str_replace('Адрес или текст','', $file);

Или $file=preg_replace('/href="http:\/\/Адрес\/Papka(.*?)<br\/>/si','', $file);"

или

$file=preg_replace('|<a href="http://Адрес/Papka(.*?)<br/>|is','', $file);

21 Июл 2010, 15:48
Dynamovec

А если на странице есть три <div class="c"> как мне вырезать 2 или 3, просо когда вырезаю, то вырезает все 3 дива

21 Июл 2010, 17:47
Rubilnik U Say

63, шапку именно так вырезать, но вместо sU лучше использовать is $file = preg_replace('|<!DOCTYPE(.*?)<body>|is', '', $file);

Ссылки вырезай взависимости от обстоятельств. Если ссылка статическая (название и адрес не меняюцца), то так: $file=str_replace('href="http://site.ru/Papka/stranica.php">йа сцылко</a><br/>','', $file); а еси ссылка динамическая,т.е. начало одинаковое,а конец и название разное,например <a href="http://site.ru/go/go.php?id=1">тут меняющееся название</a><br/> то вырезать нада так: $file=preg_replace('|<a href="http://site.ru/go/go.php(.*?)</a><br/>|is', '',$file);
таким образом ты вырезать можеш ЛЮБОЙ код из страницы. То есть, между началом и концом вставляеш джокер (.*?) который заменяет любое значение.

21 Июл 2010, 22:10
Rubilnik U Say

64, будь внимательнее: еси див, который хочеш вырезать, повторяется в том месте, где его вырезать ненада, то не трогай его. Вырезай лишнее теми регулярками, шо я написал вверху. Обычно для рекламы,баннеров,щетчегов имеюцца отдельные дивы,но иногда их нет, и нада вырезать содержимое.

21 Июл 2010, 22:17
bazooka

Пользуемься сканером и смотрим код, далее через preg вырезаем реклу под корень, а именно так
$file=preg_replace('|начало выреза(.*?)конец|si','заменить или нет', $file);
а если не получаеться, но на примере в сканере отобразились одинаковые обозначения, то изменяем до первого символа через функции подмены, а далее эту функцию удаляем через прег, т.е. под корень, как описал выше.

21 Июл 2010, 22:39
Dynamovec

Можно ли вырезать в грабе таблицу? Вот если так она идет
<table align="center" cellspacing="0" cellpadding="0">

И еще можно вырезать такие коды? <br></b><font size="-2px" color="#a40000"></font><br>

23 Июл 2010, 16:31
BOKOREZ

Dynamovec, легко, если значения в таблице н меняются используй str_replace

23 Июл 2010, 17:20
Swinger

$str = str_replace('<table align="center" cellspacing="0" cellpadding="0">', null, $str);
$str = preg_replace('#<br></b><font size="([0-9-]+)px" color="#([a-z0-9]+)"></font><br>#si', null, $str);

23 Июл 2010, 17:46
Dynamovec

Спасибо! А как лучше текст вырезать?

23 Июл 2010, 19:30
Ответить на тему