Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Externe Seite einlesen und ausgeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Externe Seite einlesen und ausgeben


 
blumi
07-12-2005, 08:30 
 
Habe mal etwas damit rumgespielt, eine externe Seite mit einer Tabelle einzulesen und diese wieder auszugeben.

Der Betreiber der Webseite ist damit einverstanden.

Was mich nun etwas verwundert, es funktioniert nicht immer.

Habe mir mal die Grösse des Strings anzeigen lassen. Der Wert variiert immer in unregelmässige Abständen zwischen zwei Werten wenn man das ganze aktualisiert.
Folglich wir mal die ganze Tabelle angezeigt, und manchmal nur ein Teil.

Hat da jemand eine Idee?


$url = "http://www.hier die Adresse der Tabelle.de";

$handle = fopen($url,"r");
$String = fread($handle,1000000);
fclose($handle);


$counter = strlen($String);
echo "Länge des Strings: $counter <br>";

 
TobiaZ
07-12-2005, 10:21 
 
um welche werte handelt es sich denn?
um welche seite handelt es sich denn?

 
blumi
07-12-2005, 13:10 
 
Habe es jetzt hinbekommen.



$handle = fopen("http://www.domain.de", "r");
$contents = '';
if($handle)
{
while (!feof($handle))
{
$contents .= fread($handle, 8192);
}
fclose($handle);
}



Was anderes, wenn ich im String die Position eines anderen Strings haben möchte, der aber mehrfach vorkommt, wie kriege ich so etwas raus?

Meine z.B. das <table> Tag. Kommt mehrfach vor. Ich würde gerne die Position des dritten <table> Tags wissen oder so.

Ich finde nur Funktionen, die mir die erste oder Letzte Position verraten. Gibt es so etwas nicht?

 
TobiaZ
07-12-2005, 13:36 
 
strpos auf anhieb würde ich hier was rekursives oder geschleiftes basteln.

1. vorkommen merken, position als offset verwenden.
2. vorkommen merken, position als offset verwenden.
3. vorkommen raussuchen.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:57 Uhr.