簡體   English   中英

如何有效地從整個cURL響應中獲取一條特定的行在php中?

[英]How to fetch one specific line efficiently from a whole cURL response in php?

我通過使用cURL得到響應$ str。 $ str用html表示,一共包含327行。 我想從第127行中獲取日期,該行最初是

<b>Last Updated On:</b>17-Dec-2011 11:33:41 UTC<br><br>

為了在cURl之后立即減少$ str占用的內存,我做了

$ str = strip_tags($ str);

然后,要獲取完整的行,

preg_match(“ / ^最后更新日期.................................. / m”,$ str,$ line);

$ lastupdate = $ line [0];

然后,要刪除多余的文本,

$ lastupdate = str_replace(“ Last Updated On:”,“”,$ lastupdate);

現在,我認為此preg_match語句不是最有效的語句。 它使用了太多的點,並且一定有類似的東西

LookFor =最近更新日期:

如果看到LookFor,請獲取下25個字符。

我是否使用正確的preg_match語法? 目前,它正在工作,並給了我想要的結果,但是我不知道它是如何工作的。

請向我建議此預浸料匹配線的正確/有效等效方法。

另外,如何告訴PHP直接跳到第127行,而不是通過所有前126行。 所有以[CR] [LF]結尾的行。

聚苯乙烯

  • 我只需要接下來的25個字符。
  • 我需要的線永遠是127
  • 我將檢索到的日期用作文本字符串; 沒有計算,僅存儲在.csv文件中。 但是,如果我能以正確的日期格式代替文本,那么我將非常高興。 現在,它只是一串文本。

嘗試這個 :

<?php

    // get the lines in an array
    $lines = explode("\n",$str);

    // get the 127th line
    $line = $lines[126];

    // get the date
    preg_match('/<\/b>(.+)<br><br>/', $line, $matches);

    $date = $matches[1];

    echo $date;

?>

輸出:

17-Dec-2011 11:33:41 UTC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM