2012-04-14 8 views
0

Ich bekomme eine Antwort $ str mit cURL. $ str ist in html, bestehend aus immer insgesamt 327 Zeilen. Ich möchte von genau 127. Zeile Datum holen, die ursprünglichWie kann man eine bestimmte Zeile effizient von einer ganzen cURL-Antwort in PHP abrufen?

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

Um zu versuchen, den Speicher durch str $ zu reduzieren, immidiatly nach curl, ich tue

$ str = strip_tags ($ str);

Dann die komplette Linie zu holen,

preg_match ("/^Zuletzt aktualisiert am ...................... .../m ", $ str, $ line);

$ lastupdate = $ line [0];

Dann den zusätzlichen Text zu entfernen,

$ = str_replace lastupdate ("Zuletzt aktualisiert am:", "", $ lastupdate);

Jetzt denke ich, dass diese preg_match-Anweisung nicht die effizienteste ist. Es ist mit zu vielen Punkten, und es muss auf so etwas wie

LookFor = Zuletzt aktualisiert:

Wenn Sie LookFor sehen, bekommen nächsten 25 Zeichen.

Verwende ich korrektes preg_match syntex? Im Moment funktioniert es und gibt mir das gewünschte Ergebnis, aber ich weiß nicht, wie es funktioniert.

Bitte schlagen Sie mir das richtige/effiziente Äquivalent dieser Preg Übereinstimmung vor.

Auch, wie kann ich PHP sagen, um direkt zur 127. Zeile zu springen, anstatt durch alle ersten 126 Zeilen zu gehen. Alle Zeilen haben [CR] [LF] -Enden.

P.S.

  • Es wird nur die nächsten 25 Zeichen, die ich brauche.
  • Die Linie, die ich brauche, wird immer 127 sein.
  • Ich benutze das abgerufene Datum nur als eine Zeichenfolge von Text; keine Berechnungen, nur um in einer .csv-Datei zu speichern. Aber wäre wirklich glücklich, wenn ich anstelle von Text, könnte ich es im richtigen Datumsformat bekommen. Im Moment ist es nur eine Zeichenfolge.

Antwort

3

Versuchen Sie folgendes:

<?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; 

?> 

Ausgang:

17-Dec-2011 11:33:41 UTC 
+0

Danke, genau das, was ich brauchte, und mit viel besser aussehenden Code. – DavChana

+0

@Davinder Du bist wirklich willkommen, mein Freund!Immer froh zu helfen! :-) Wenn Sie eine Antwort besonders nützlich finden, wäre es ratsam, sie als Antwort zu markieren (das Häkchen neben der Antwort), damit die Community davon profitieren kann. –

Verwandte Themen