phpbar.de logo

Mailinglisten-Archive

[php] Re: Textteile aus Webseite auslesen.

[php] Re: Textteile aus Webseite auslesen.

Ernst May-Jung mailing at may-jung.de
Sam Feb 7 20:08:04 CET 2004


On Saturday 07 February 2004 19:51, Reinhold Riedersberger wrote:


> Vermutlich muß ich dann im html-Quellcode "wühlen". So was in der Art
> wie "Vom Bildschirm Kopieren" geht wohl nicht, oder?

Der html Code bringt Dir eine Menge Vorteile. Angenommen die Daten stehen in 
einer Tabelle, was meistens der Fall sein sollte. 


Dann suchst Du zum Beispiel nach '<TD>Artikelbeschreibung</TD><TD>'
Ab dann geht alles bis zum nächsten '</TD>' in deine Datenbank. 


Das folgende Beispiel arbeitet Zeilenorientiert  und schneidet Bilder aus 
einer Mail. 
----------------------------------------------------------------------------------------

while($line = fgets($mailhandle, 1000)) {
	if (eregi("(^From)([\:\ ]*)(.*)(\n$)", $line, $reg)) {   // Absender auslesen
		$from = $reg[3];
		echo "Absender: $from\n";
		$bild = '';
	}
	if (eregi("(^Subject)([\:\ ]*)(.*)(\n$)", $line, $reg)) {  // Betreff
		if (strlen($reg[3]) > 0)
			$subject = "$reg[3] * ";
		echo "Betreff: $subject\n";
	}
	if (eregi("(name)([\:\ =]*)\"(.*)\"(\n$)", $line, $reg)) { // Filename
		$filename = $reg[3];
		$bild = '';
		echo "Name: $filename\n\n";
		while (strlen(fgets($mailhandle, 1000)) > 3);

		while (strlen($bildzeile = fgets($mailhandle, 1000)) > 3) // Bild auslesen
			$bild .= $bildzeile;

		// und ab in die Datenbank!
		mysql_query("INSERT INTO bilder (absender, betreff, filename, bild) values 
('$from', '$subject', '$filename', '$bild')", $conn);
		echo mysql_error();
		// echo $bild;
	}
}
----------------------------------------------------------------------------------------

Bei Dir könnte es also ungefär so aussehen: 

if ( eregi("(<TD>Artikelbeschreibung</TD><TD>)(.*)(</TD>)", $line, $reg) )
	$artikelbeschreibung = $reg[2];

Gruß
    Ernst





php::bar PHP Wiki   -   Listenarchive