Mailinglisten-Archive |
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
php::bar PHP Wiki - Listenarchive