?
Hi,
mit einem script möchte ich täglich alle dax aktienkurse einlesen. hierzu lese ich die seite von comdirect und lese alles mit einem regulären ausdruck aus.
ich habe mein script unten angehängt. es funtzt soweit. jedoch zwei punkte die mich stören.
1. wenn man sich den quellcode meiner ausgabe anschaut, parst er manchmal noch einige span tags mit raus. dies möcht eich nicht. ich kann das zwar mit strip_tas abfangen, würde es aber mit den regulären ausdrücken mit abfangen.
2. wenn ihr euch die seite anguckt, wo ich die daten lesen, möchte ich ebenfalls aus dem link noch eine info lesen:
Deutsche Lufthansa AG linkt z.B. auf http://isht.comdirect.de/html/detail/main.html?sSym=LHA.ETR
Hier möchte ich das LHA noch mit rauslesen, also immer alles was zwischen sSym= und .ETR aus der url rauslesen.
Ich weiß nicht wie ich meinen Ausdruck abändern muss, damit beides läuft. Auch weiß ich nicht ob der Ausdruck sonst soweit gut ist. würd mich freuen wenn den wer perfektionieren könnte.
klötenharry
<?
// Seite einlesen
url = "http://isht.comdirect.de/html/detail/main.html?sTab=securities&sCat=IND&sSym=DAX.ETR";
content = file_get_contents($url);
// Inhalte rausparsen
preg_match('#<!-- Eine Zeile Beginn -->(.+)<!-- Eine Zeile Ende -->#s', $content, match);match);
match);table = match[1];
pattern = '#\s*
<tr>\s*
<td.+?</td>\s*
<td.+?title="(.+?)".+?</td>\s*
<td.+?>(.+?)</td>\s*
<td.+?>(.+?)</td>\s*
<td.+?</td>\s*
<td.+?>(.+?)</td>\s*
<td.+?>(.+?)</td>\s*
<td.+?>(.+?)</td>\s*
<td.+?>(.+?)</td>\s*
</tr>\s*
#xs';
if (preg_match_all($pattern, $table, out))
{
for(s = 0; s<count(s < count(s<count(out[1]); $s++)
{
echo out[1][s] . "<br>";
echo out[2][s] . "<br>";
echo out[3][s] . "<br>";
echo out[4][s] . "<br>";
echo out[5][s] . "<br>";
echo out[6][s] . "<br>";
echo out[7][s] . "<br>";
echo "<br><br>\n\n";
}
}
?>