OverRed 0 Denunciar post Postado Dezembro 21, 2010 1o gostaria de parabenizar o forum, a maioria de minhas dúvidas esclareço aqui Obrigado por este serviço 2o, estou pedindo ajuda na seguinte questão: Estou querendo extrair uma parte de uma página html, estou usando curl para obtenção de dados e estou tentando usar preg_match_all para extrair a parte do site que quero, porem não estou obtendo exito. Site fonte: http://us.battle.net/wow/en/guild/gurubashi/horda/news Estou querendo retirar a tabela "News" meu cídigo hoje está assim: Página de teste GuildFeed <br><br><br> <link rel="stylesheet" type="text/css" media="all" href="common.css?v15" /> <link rel="stylesheet" type="text/css" media="all" href="wow.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="profile.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="guild.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="news.css?v3" /> <?php $ch = curl_init(); $timeout = 0; curl_setopt($ch, CURLOPT_URL, 'http://us.battle.net/wow/en/guild/gurubashi/horda/news'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $url = curl_exec ($ch); curl_close($ch); //$linebreaks = array("\r", "\n"); //$url = str_replace($linebreaks, "", $url); preg_match_all('#<div class="news-left">(\w.*)<a href="javascript:;" class="n#s', $url, $conteudo); echo $conteudo; echo "<br><br><br>Página Completa<br><br><br>"; echo $url; ?> o resoltado é : Página de teste GuildFeed Array Página Completa já tentei várias combinações de ER no preg_match_all mas não obtive exito. Podem me ajudar ? no que estou errando ? Desde já agradecido. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Dezembro 21, 2010 ao invés de usar preg_match_all, utilize as funções DOM-XML php.net/dom Compartilhar este post Link para o post Compartilhar em outros sites
OverRed 0 Denunciar post Postado Dezembro 21, 2010 Grato, foi a 1a coisa que tentei, mas as funções não estavam funcionando direito neste servidor, pelo o que vi "funcionam no plano mega..." enfim, mesmo postando ajuda aqui, estava correndo em paralello para resolver. Consegui verificar os erros. Segue código corrigido: Página de teste GuildFeed <br><br><br> <link rel="stylesheet" type="text/css" media="all" href="common.css?v15" /> <link rel="stylesheet" type="text/css" media="all" href="wow.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="profile.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="guild.css?v3" /> <link rel="stylesheet" type="text/css" media="all" href="news.css?v3" /> <?php $ch = curl_init(); $timeout = 0; curl_setopt($ch, CURLOPT_URL, 'http://us.battle.net/wow/en/guild/gurubashi/horda/news'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $url = curl_exec ($ch); curl_close($ch); //$linebreaks = array("\r", "\n"); //$url = str_replace($linebreaks, "", $url); preg_match_all('#<div class=\"news-left\">(.+)<a href=\"javascript:;\" class=\"n#s', $url, $conteudo); echo $conteudo[0][0]; //echo "<br><br><br>Página Completa<br><br><br>"; //echo $url; ?> o código ER estava incompleto, faltava \ na frente dos " e, consequentemente, alterei o echo, colocando [0][0], para a correta exibição da página enfim, grato pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites