Файл теперь стал недоступен. Пишет сервер не найден
Привет всем: помогите написать парсер у меня не получается вот код
////настройки//////
$ot=8; //ID страницы с которой парсим
$do=15; //ID страницы до которой парсим
$site='http://wap4u.ru/anek/index.php?url=&fon=FFFFFF&txt=76625B&stxt=9E8379&module=read&cid=1&page='; //адрес форума
////////////////////
$i=0;
for($bn=$ot;$bn<$do;$bn++)
{
$file=file_get_contents(''.$site.''.$bn.'');
preg_match_all('#<hr/>([0-9]{2})\.([0-9]{2})., ([0-9]{2})\[0-9]{2})<br/>(.*)<br/> <br/>#Uis',$file,$data);
//var_dump($ggg);
foreach($data[0] as $data2)
{
$data2=preg_replace('#<hr/>([0-9]{2})\.([0-9]{2})\., ([0-9]{2})\[0-9]{2})<br/>#','',$data2);
$data2=str_replace('<br/> <br/>',' ',$data2);
$data2=str_replace('<br/>',' ',$data2);
$data2=str_replace('<br />',' ',$data2);
$data2=str_replace('"',' ',$data2);
$data2=str_replace('<',' ',$data2);
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `anekdoti` WHERE `text` = '$data2'"),0) > 0) {
$sql = mysql_fetch_assoc(mysql_query("SELECT * FROM `anekdoti` WHERE `text` = '$data2'"));
echo'<div class="menu">Цитата номер '.Anti_Xak::num($sql['id']).' уже существует </div>';
}else{
$time = time();
mysql_query("INSERT INTO `bash` SET `text`='$data2',`time`='$time'");
echo '<div class="menu">Цитата номер '.mysql_insert_id().' добавлена</div>';
$i++;
}
}
}
Saniok, file=file_get_contents(''.$site.''.$bn.'');
конкатенация переменных ($site . $bn)
ты сам писал это? мощно выбрать все в preg_match_all в потом через цикл каждый элемент массива обработать регуляркой, велосипед прям
Saniok, в str_replace в первый аргумент передаем массив всех нужных замен, второй элемент пустой, получится все за один раз поменять
Koenig (18.05.2012/10:34)
Saniok, file=file_get_contents(''.$site.''.$bn.'');
конкатенация переменных ($site . $bn)
ты сам писал это? мощно выбрать все в preg_match_all в потом через цикл каждый элемент массива обработать р
Я гдето откопал код(непомню где) и решил попробовать зделать...
Koenig, А поподробней можно?
Saniok, проще новый написать, с компа буду. гляну
Saniok, массив полученный записывай в базу по одному элементу на запись
mb_internal_encoding('utf-8');
header('Content-Type: text/html; charset=utf-8');
$arr_ank = array();
for($p=0;$p<62;$p++) {
preg_match_all('|</b><br/>(.*)<hr/><br/>|s', file_get_contents('http://wap4u.ru/anek/index.php?module=read&cid=1&page=' . $p), $data);
$ank = explode('<hr/>', $data[1][0]);
foreach ($ank as $v) {
$arr_ank[] = trim(str_replace('<br/>', PHP_EOL, preg_replace('#([0-9]*.[0-9]*., [0-9]*:[0-9]*)#', '', $v)));
}
}
echo '<pre>';
print_r($arr_ank);