Expressões regulares.
Boa noite, estou no segundo período de ADS, Estou estudando array, e expressões regulares.
Preciso copiar um "ano" que se encontra em outro site., de 4 dgitos: no site ele se encontra desta forma:
<span class="info-video open-sans lancamento-video">
<strong>Lançamento:</strong> 2016 </span>
Fiz o seguinte código para copiar o ano:( a url do site é enviada em um formulário text de outra pagina)
$site_url = $_POST['url'];
function my_file_get_contents( $site_url ){
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $site_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
ob_start();
curl_exec($ch);
curl_close($ch);
$file_contents = ob_get_contents();
ob_end_clean();
return $file_contents;
}
$url = my_file_get_contents($site_url);
preg_match_all( '/(\d{4})/', $url, $ano1);
echo '<pre>';
print_r($ano1);
Se eu entendi bem, se eu retomar o conteúdo do site, ele se torna uma string. E ao usar preg_match_all ele guarda em um array, todas as possíveis combinações existentes nessa página através da expressão que eu criei.
Só que ocorre que o site me retorna 220 datas, eu consigo selecionar a que eu quero usando [0][99], mas se eu mudar a url, muda a posição do ano correto, eu queria saber como delimitar essa expressão regular, para pegar a data que esta apenas neste local:
<span class="info-video open-sans lancamento-video">
<strong>Lançamento:</strong> 2016 </span>
como eu faria, pra escrever a expressão regular, limitando dentro desse espaço?obrigado.
Discussão (8)
Carregando comentários...