Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala ae pessoal.
Estou com uma dificuldade.
Estou começando a mexer com expressões regulares e encontrei um problema.
Usando cURL eu pego todo o html de uma página e quero pegar o conteúdo das tags de h2.
Mas não to conseguindo não sei porque.
Ele pega os conteúdos junto. Só retira algumas coisas.
Dêem uma olhada no código:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.site.com.br");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);
$nao_existe = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($nao_existe == '404'){
echo 'Erro no script. Página não existe.';
}else{
if(ereg('(<[hH][2]>.*</[hH][2]>)', $output, $conteudo)){
print_r($conteudo);
}else{
echo 'Nao foi achado.';
}
}
?>
Acho que consegui mas ele só ta pegando a primeira tag <h2>
As outras ele não pega.
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://br.kekanto.com/cat/rj/rio-de-janeiro");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);
$nao_existe = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($nao_existe == '404'){
echo 'Erro no script. Página não existe.';
}else{
if(ereg('<[hH][2]>[^>]+</[hH][2]>', $output, $conteudo)){
$conta = count($conteudo);
$i = 0;
while($i <= $conta){
echo $conteudo[$i];
$i++;
}
}else{
echo 'Nao foi achado.';
}
}
?>
Acho que consegui mas ele só pega o primeiro <h2>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://br.kekanto.com/cat/rj/rio-de-janeiro");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
$output = curl_exec($ch);
$nao_existe = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if($nao_existe == '404'){
echo 'Erro no script. Página não existe.';
}else{
if(ereg('<[hH][2]>[^>]+</[hH][2]>', $output, $conteudo)){
$conta = count($conteudo);
$i = 0;
while($i <= $conta){
echo $conteudo[$i];
$i++;
}
}else{
echo 'Nao foi achado.';
}
}
?>Carregando comentários...