phpbar.de logo

Mailinglisten-Archive

Re: Da fällt mir noch was ein....
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Da fällt mir noch was ein....



Hi,

Peter Holm:
> Also in mysql wirst Du dafür wohl keine Funktion finden, aber mit php
> ist das machbar. Du musst Dir die Seite holen und in eine Variable
> legen, dann ziehst Du Dir alles innerhalb <title></title> und
> <body></body> heraus, wobei dies schon eine nicht mehr ganz so triviale
> Angelegenheit darstellt. Vielleicht findest mehr Hilfe hierzu in der
> php-mailingliste.
> 
... und wenn jemand einen kranken Text in der Seite drin hat (zum Beispiel
eine Beschreibung der HTML-Seitentags, nett in <PRE> eingebettet ;-)
dann wirst du um einen richtigen Parser sowieso nicht rumkommen.

Also mach es gleich vernünftig, d.h. mit perl. Ich hab hier diesen
Codeschnipsel aus unserem Ticketsystem(*), um den Inhalt einer Seite in
eine andere einzubetten: 


		# $msg ist eine text/html-Mail; siehe MIME::Parser
		use HTML::TreeBuilder;

		my $pa = new HTML::TreeBuilder;
		my $body = $msg->bodyhandle->open("r");
		$pa->parse_file($body) if ref $body;

		my $pb;
		foreach my $pc($pa->content ? _(at)_{$pa->content} : ()) {
			if(ref $pc and $pc->{_tag} eq "body") {
				$pb = $pc;
				last;
			}
		}
		if($pb) {
			$pb = div($pb->as_HTML)); ##  <=- das ist der Inhalt des <BODY>
		} else {
			$pb = pre(esc("No content found...\n"));
		}
		$pa->delete; ## notwendig wegen zirkulärer Referenzen
		return $pb;



(*) wegen der Kunden, die darauf bestehen, HTML-Mails zu schicken.  *Seufz*.

-- 
Matthias Urlichs  |  noris network GmbH   |   smurf_(at)_noris.de  |  ICQ: 20193661
The quote was selected randomly. Really.    |      http://www.noris.de/~smurf/
-- 
Wait for that wisest of all counselors, Time.
               --Pericles

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive