PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : html-tags vor include entfernen


meandme
17.11.2005, 18:07:36
hallo php-gemeinde!
mein problem ist folgendes: ich hole via include abfragedaten aus einer datenbank (für den content bezahle ich). bisher habe ich die mit iframes auf meiner seite eingebunden - das ist mir aber zu unflexibel. wenn ich nun mit include arbeite, gibt es probleme.

ich bekomme vom anbieter immer "komplette" html-seiten generiert. also auch die gesamte <html><head><body>...struktur! die haut mir natürlich die danze seite kaputt, weil dann alles doppelt vorkommt.

gibt es ne einfache möglichkeit, nur das zu importieren, was im quelltext zwischen zwei definierbaren textmarken steht?

Damir
17.11.2005, 20:21:39
Hi,

das filtert dir alles zwischen den BODY-Tags.
Der Quellcode ist in $html

preg_match_all("=<body[^>]*>(.*)</body>=siU", $html, $body);
print $body[1][0];

Bye Damir

meandme
17.11.2005, 21:44:27
danke für die schnelle antwort.

$html kann ich doch mit join füllen, oder?
bei pregf_match_all kriege ich aber immer den fehler "unexpected ="
was ist da falsch?

Damir
17.11.2005, 21:47:43
Hi,

poste mal ein wenig Code.....

Damir

meandme
17.11.2005, 23:03:48
$html = join("","file('http://www.domain.de/datei.php'));
preg_match_all("<body[^>]*>(.*)</body>=siU", $html, $body);
print $body[1][0];

xabbuh
17.11.2005, 23:12:31
Du hast den Modifier = am Anfang deines regulären Ausdruckes vergessen.

feuervogel
17.11.2005, 23:50:07
$html kann ich doch mit join füllen, oder?

kannst du. kannst aber auch etwas weniger umständliches (http://www.php.net/manual/de/function.file-get-contents.php) verwenden ;-)

meandme
18.11.2005, 00:39:42
Du hast den Modifier = am Anfang deines regulären Ausdruckes vergessen.

stimmt. aber als der noch dort stand, meckerte php das als "unexpected" an.

feuervogel
18.11.2005, 00:59:03
also wenn dus genau so wie da oben hast, dann ist da noch ein fehler:

$html = join("","file('http://www.domain.de/datei.php'));

das " vor file muss weg - eigentlich sollte sowas auffallen, falls man einen editor mit syntaxhighlightning benutzt.

meandme
18.11.2005, 12:15:25
funktioniert jetzt, danke.
leider ist das ergebnis unbefriedigend: in der includierten seite werden javascripts aufgerufen, die ohne absolute adressierung daherkommen und die werden natürlich nicht gefunden....na ja, war nen versuch wert.

meikel (†)
18.11.2005, 12:45:02
leider ist das ergebnis unbefriedigend: in der includierten seite werden javascripts aufgerufen, die ohne absolute adressierung daherkommen und die werden natürlich nicht gefunden....
Die Stellen finden und korrigieren: preg_replace()