|
|
|
| здравствуйте гиды форума помогите решить задачку с регулярным выражением мне надо захватить <!-- Content -->все что находиться между ними надо сграбить<div class="items" id="pane_txtt180" style="display:none"> потом надо бы чтоб страницы выводились в массив адрес сайта http://liveresult.ru/ заранее спасибо. | |
|
|
|
|
|
|
|
для: wames
(08.03.2008 в 13:55)
| | >мне надо захватить <!-- Content -->все что находиться между ними надо сграбить
><div class="items" id="pane_txtt180" style="display:none">
Не понятно, что требуется захватить... Имеется в виду содержимое, расположенное между <!-- Content --> и <div class="items" id="pane_txtt180" style="display:none">? | |
|
|
|
|
|
|
|
для: cheops
(08.03.2008 в 14:19)
| | да именно, | |
|
|
|
|
|
|
|
для: wames
(08.03.2008 в 17:41)
| | Можно воспользоваться следующим скриптом
<?php
$contents = file_get_contents("http://liveresult.ru/");
$pattern = "|<!-- Content -->(.*?)<div class=\"items\" id=\"pane_txtt180\" style=\"display:none\">|is";
preg_match($pattern, $contents, $out);
echo "<pre>";
print_r($out[1]);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.03.2008 в 00:15)
| | спасибо cheops,только вот есть проблема я бы хотел чтобы парсер был как на http://betz.su/txt/,извини меня что я не смог объяснить как правильно писать граб(( | |
|
|
|
|
|
|
|
для: wames
(09.03.2008 в 09:11)
| | принцип работы скрипта хотел бы чтобы был такой | |
|
|
|
|
|
|
|
для: wames
(09.03.2008 в 09:14)
| | целую неделю пишу все не получаеться((( | |
|
|
|
|
|
|
|
для: wames
(09.03.2008 в 10:16)
| | Ну мне никто не поможет? | |
|
|
|
|
|
|
|
для: wames
(09.03.2008 в 09:11)
| | Хм... а на словах не можете объяснить что требуется? | |
|
|
|
|
|
|
|
для: cheops
(10.03.2008 в 00:27)
| | мне нужен граб похожий на этот http://softtime.ru/forum/read.php?id_forum=6&id_theme=45052 только чтобы был сграблен с сайта http://liveresult.ru без картинок,и лишних пробелов, <!-- Content -->здесь кусок страницы <div class="items" id="pane_txtt12" style="display:none">помогите пожалуйста | |
|
|
|
|
автор: _гость_ (10.03.2008 в 16:30) |
|
|
для: wames
(10.03.2008 в 01:10)
| | зависит от того каую разметку вы хотите оставить , если вообще что-то оставлять
, и время генерации страницы может получиться немаленьким | |
|
|
|
|
|
|
|
для: _гость_
(10.03.2008 в 16:30)
| | _гость_,спасибо за оказанную помощь | |
|
|
|
|
|
|
|
для: wames
(10.03.2008 в 18:37)
| | _гость_,в работе скрипта я обнаружил маленькую ошибку:(принцип работы скрипта очень странный,пример:я пробовал зайти на ссылку сграбленной странички с мобильного браузера,и у меня перешел на другой сайт liveresult.ru,а когда я захожу с компьютерного браузера то у меня заходит и на сграбленную страничку,интересный граб,и еще на сграбленной страничке появляется ненужный текст я пробовал заменить его но у меня не получилось((вот этот текст бы надо убрать с граба (Анонс|Трансляция|Комментарии|Обновить)и еще иногда в грабе появляется ссылка отчет эту бы ссылку тоже бы нужно удалить,если получиться,спасибо за внимание,думаю мое сообщение не останется без ответа. | |
|
|
|
|
автор: _гость_ (11.03.2008 в 17:04) |
|
|
для: wames
(11.03.2008 в 00:02)
| | ссылку "отчёт" не наблюдал кажется
я только раз качнул пару страниц, и раз проверил, у меня локально они 1.htm и txt.html
и для браузера мобильного помоему многовато будет страница на 20 кБ
и если даже как здесь использовать <pre></pre>
<html>
<style type="text/css">
h5, h1, b { margin: 0 10pt; }
</style>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$matchid = (isset($_GET['matchid'])) ? preg_replace('#[^\d]+#', '', $_GET['matchid']) : '';
if ($matchid != ''){
$addr = 'txt.html';
// $addr = 'http_www_liveresult_ru/c/home/football/txt.html?matchid=' . $matchid;
$text = file_get_contents($addr);
preg_match('#<div class="date".+?(?=<div class="pane" id="pane_comments")#s', $text, $text);
$text = strip_tags($text[0], '<h1><b><table><td>');# теги
$text= preg_replace(array('#^\s+#m', '#^(\d+\')#m', '#(?:<)(/|)table[^>]*>#s', '#</?td>#'),
array('', '<h5>$1</h5>', '<$1pre>', ' '), $text); // пробелы и выделение
$text= preg_replace(array('#^(\w.+)#m', '#^\w.+#m'), array('<h5>$1</h5>', ''), $text, 1);
// обработка первых двух строк начинающихся с буквы
} else {
$addr = '1.htm';
// $addr = 'http_www_liveresult_ru/';
$text = file_get_contents($addr);
preg_match('#<div class="items".+?(?=<script )#s', $text, $text); $text = strip_tags($text[0], '<a>');#удалить теги кроме ссылок
$text= preg_replace(array('#http://[^&]+&#', '#^\s+#m', '#^(\D.*)$#m'),
array('?', '', '<h3>$1</h3>'), $text); // ссылки , пробелы и выделение
}
echo $text;
?>
</body>
</html>
|
таблица типа этой
«МАРСЕЛЬ»
«СЕНТ-ЭТЬЕН»
Голы 0 0
Удары по воротам 3 1
Удары в створ 7 3
Нарушения правил 5 9
Угловые 4 2
Офсайды 0 0
Владение мячом 56% 44%
Предупреждения 1 2
Удаления 0 0
может в экран не уместиться, наверное.
Вариантов масса, но грабер :) | |
|
|
|
|
|
|
|
для: _гость_
(11.03.2008 в 17:04)
| | _гость_работает,спасибо,но есть проблема,все равно после окончания трансляции появиться ссылка отчет о матче как ее убить? | |
|
|
|