需要来自url的特定数据和file_get_contents()

时间:2014-03-10 18:50:01

标签: php html get file-get-contents

我正在尝试使用file_get_contents()阅读网址。我只需从页面中获取$invoice

$invoice出现在句子上,如下例所示为数字789621:

<code><div class="show invoice invoice_number_rajhi"><a href="/fatora/alrajhi/invoices/3687908533/people" class="link-blue" onclick="$.fn.colorbox({title:&quot;People who visit this&quot;,onComplete:show.onPeopleOpening,onCleanup:show.onPeopleClosing,href:&‌​quot;/fatora/alrajhi/invoices/3687908533/people&quot;}); return false">789621 paid</a> show this</div></code>

如果它出现如下例子,我怎么能这样做?

  <code><li class="js-stat-show js-stat-show stat-still"> <a href="#" class="request-invoice-popup" data-activity-popup-title="invoice 789621 paid" > paid <strong>789621</strong> </a> </li></code>

5 个答案:

答案 0 :(得分:1)

在PHP中使用正则表达式:

$myurl = "theUrlYouWant";

preg_match("/return false\"\>(.*?) paid/i", file_get_contents($myurl), $matches);

$invoice = $matches[1];

echo($invoice);

现在,变量$ invoice应该等于发票号

答案 1 :(得分:0)

我认为你正在抓取一个网页,如果是这样,你可以使用像PHP Simple HTML DOM Parser这样的库。你可以在HTML页面上找到带有选择器的标签,就像jQuery一样。

然后为前。你可以用这样的东西来获取所有的元素。

// Create DOM from URL or file
$html = file_get_html('URL');

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';

答案 2 :(得分:0)

<?

$input = '<code><div class="show invoice invoice_number_rajhi"><a href="/fatora/alrajhi/invoices/3687908533/people" class="link-blue" onclick="$.fn.colorbox({title:&quot;People who visit this&quot;,onComplete:show.onPeopleOpening,onCleanup:show.onPeopleClosing,href:&‌​quot;/fatora/alrajhi/invoices/3687908533/people&quot;}); return false">789621 paid</a> show this</div></code>';

preg_match_all("#(\d*)[ a-z]*?</a>#i",$input,$out);
echo $out[1][0];
?>

您可以将$input的值替换为file_get_contents("URL HERE");

答案 3 :(得分:0)

获得页面后,您可以使用Javascript或jQuery将其废弃,并通过定位类名来获取所需的onclick值。

答案 4 :(得分:0)

您需要simple_html_dom从页面中删除发票。 然后使用

$ret = $html->find('div[id]');

检索包含发票的div。

$content=$ret->innertext;

给出了该div的内容。休息很简单。只需用''(空格)拆分$ content并获取$ invoice