Hallo,
ich bräuchte eure Hilfe bei meinen Skript. Kann ich den Inhalt eines Arrays mit einen String vergleichen?
Was mache ich hier falsch?
<?php
$lines = file ("http://www.energieverbraucher.de/de/Preisabfrage__1101/#suedost");
//print_r($lines);
echo $lines['334'];
if ($lines['334'] == '60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 88, 89, 97, 98, 99')
{
echo "gefunden";
SetValue(22196 /*[Gaspreis\bis 3.000 Liter\brutto]*/,$lines['335']);
SetValue(27261 /*[Gaspreis\bis 3.000 Liter
etto]*/,$lines['336']);
SetValue(54064 /*[Gaspreis\über 3.000 Liter\brutto]*/,$lines['337']);
SetValue(40784 /*[Gaspreis\über 3.000 Liter
etto]*/,$lines['338']);
}
else
echo "Fehler";
?>
Poste doch mal die ausgabe von echo lines[‚334‘] .
60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 88, 89, 97, 98, 99
1007
4
Moeglich dass es am Zeilenende haengt.
Beim einlesen in das array werden Zeilenende angehaengt.
Probier mal mit Flag Zeilenende nicht einlesen.
$lines = file ("http://www.energieverbraucher.de/de/Preisabfrage__1101/#suedost",FILE_IGNORE_NEW_LINES);
http://php.net/manual/de/function.file.php
Der Zeilenumbruch ist damit weg, aber davor ist auch noch ein Leerzeichen.
1007
6
ja dann noch ein „trim“ dazu.
Gesendet von meinem iPad mit Tapatalk HD
Habs gefunden. Der Vergleichsstring muss so aussehen:
‚<td>60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 88, 89, 97, 98, 99</td>‘
Siehst Du wenn Du in der Scriptausgabe den Haken „HTML filtern“ raus machst.
Funktioniert in Kombination mit der Zeile von 1007. Hab auch was dazu gelernt.
PS: War kein Leerzeichen, daher bringt trim nix
Folgener Code verringert die Laufzeit des Scripts bei mir um ca 1/3
<?php
$lines = file ("http://www.energieverbraucher.de/de/Preisabfrage__1101/#suedost",FILE_IGNORE_NEW_LINES);
$str = ltrim($lines['334'],'<td>');
$str = rtrim($str,'</td>');
$vergl = '60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 88, 89, 97, 98, 99';
if ($str == $vergl)
{
echo "gefunden";
//SetValue(22196 /*[Gaspreis\bis 3.000 Liter\brutto]*/,$lines['335']);
//SetValue(27261 /*[Gaspreis\bis 3.000 Liter
etto]*/,$lines['336']);
//SetValue(54064 /*[Gaspreis\über 3.000 Liter\brutto]*/,$lines['337']);
//SetValue(40784 /*[Gaspreis\über 3.000 Liter
etto]*/,$lines['338']);
}
else
{echo "nicht gefunden";}
?>