Ich möchte einige Daten über die Temperatur und die relative Luftfeuchtigkeit der Stadt von einer Website (z. B. http://www.example.com/weather.htm) bekommen.setzen Inhalt der Webseite zu Array mit PHP
Der Quellcode dieser Website
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Weather</title>
</head>
<body>
<p><span><pre id='ming'>
18-7-2016
temperature
Hong Kong 20.3
London 16.8
Washington 15.2
relative humidity
Hong Kong 80%
London 75%
Washington 60%
</pre></span></p>
</body>
</html>
definiere ich ein Array über eine Art Stadt vor und dann verwende ich PHP einfache HTML-DOM-Parser Daten zu erhalten.
<?php
require "simple_html_dom.php";
$c=array("London","Washington","Hong Kong");
$temp=array();
$rh=array();
$date="";
$html = file_get_html('test.htm');
foreach($html->find('pre#ming') as $e)
$links[] = $e->innertext . '<br>';
print_r($links);
?>
Der Link Array $
Array ([0] => 18-7-2016 temperature Hong Kong 20.3 London 16.8 Washington 15.2 relative humidity Hong Kong 80% London 75% Washington 60%
)
alle anzeigen Wie kann ich das Datum, Temperatur und relative Luftfeuchtigkeit von Daten aus $ link und steckt es in $ date, $ temp und $ rh ($ temp erhalten und $ rh sortieren nach $ c)?
Zum Beispiel sollte Array sein:
//$temp
Array
(
[0] => 16.8
[1] => 15.2
[2] => 20.3
)
//$rh
Array
(
[0] => 16.8
[1] => 15.2
[2] => 20.3
)
Je nachdem, ob Sie sind sicher, dass es nur X Städte jedes Mal sein wird, (wo X bekannt ist), können Sie entweder explode() oder preg_match/preg_match_all verwenden, um jedes Teil zu erhalten. – Julqas
@Julqas Cities X ist bekannt, aber wie bekommt man das Datenformular Array $ link? – paul0080
Mit explode zum Beispiel, können Sie '$ data = explode ('', $ link [0]);' um jeden Ausdruck in ein neues Array zu haben. Indem Sie dieses Array erkunden, extrahieren Sie Ihre Daten. Es ist nicht sehr sauber, ich würde hier einen REGEXP empfehlen, zum Beispiel mit preg_match_all :)! – Julqas