我正在尝试使用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:"People who visit this",onComplete:show.onPeopleOpening,onCleanup:show.onPeopleClosing,href:"/fatora/alrajhi/invoices/3687908533/people"}); 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>
答案 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:"People who visit this",onComplete:show.onPeopleOpening,onCleanup:show.onPeopleClosing,href:"/fatora/alrajhi/invoices/3687908533/people"}); 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