에서 데이터를 반환하지 않습니다기발한 유효한 정규 표현식 나는 다음과 같은 코드를 사용하고 PHP
<?php
$stock = $_GET[s]; //returns stock ticker symbol eg GOOG or YHOO
$first = $stock[0];
$url = "http://biz.yahoo.com/research/earncal/".$first."/".$stock.".html";
$data = file_get_contents($url);
$r_header = '/Prev. Week(.+?)Next Week/';
$r_date = '/\<b\>(.+?)\<\/b\>/';
preg_match($r_header,$data,$header);
preg_match($r_date, $header[1], $date);
echo $date[1];
?>
나는 정규 표현식을 here 확인했습니다 그들은 유효한 것으로 나타납니다. $ url 또는 $ 데이터를 올바르게 검사하면 $ data를 출력하고 소스를 확인하면 정규 표현식에서 사용할 코드를 찾을 수 있습니다. 확인하는 데 관심이 있다면 적절한 URL의 예는 http://biz.yahoo.com/research/earncal/g/goog.html
입니다. var_dump ($ header)와 var_dump ($ date)를 모두 포함하여 내가 생각할 수있는 모든 것을 시도했습니다. 둘 다 반환됩니다. 빈 배열.
나는 다른 정규 표현식을 만들 수있었습니다. 예를 들어, 다음은 '수익'을 올바르게 반환합니다.
$r_header = '/Company (.+?) Calendar/';
preg_match($r_header,$data,$header);
echo $header[1];
나는 이것이 왜 작동하지 않는지 알아 내려고 노력하고 있습니다. 어떤 도움이라도 굉장합니다. 감사.