Head, HTML Tag in HTML Code entfernen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abgespeichert
antwort
aussehen
body
datei
dokument
durchaus
ergebnis
eventuelle tags
falsch beitrag
funktion
manual
pattern
stehen
tag
textfeld
transitional
versuchen
-
Hi,
ich habe folgendes Problem:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes tag/dokument">Dokument</title> </head> <body> A</body> </html>
In d?esem HTML Code (Content zwischen Body und /Body ist variabel) m?ssen alle Tags weg, die nicht zum Bowy geh?ren:
Ergebnis m?sste wie folgt aussehen:
A
Au?erdem sollte der Titel aus dem title-Tag in einer Variablen abgespeichert werden. Wie l?sst sich das realisieren. Ich habs schon mit preg_replace probiert. Ich hab aber - offensichtlich, da es nicht l?uft - etwas im Pattern falsch.
Beitrag ge?ndert am 21.12.2005 17:11 von danielkuhner -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich w?rde mir zuerst den TITLE holen:
$html = '<html>...';
preg_match('/\<title\>([^\<]*)\<\/title\>/', $html, $rx_matches);
$title = $rx_matches[1];
Danach kannst du die Tags rausl?schen:
$text = strip_tags($html);
http://de.php.net/manual/de/function.strip-tags.php -
kurz.php
<php
$text = str_replace("<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes Dokument</title> </head> <body>", "", $text);
$text = str_replace("</body>","", $text);
echo $text;
?>
so m?sste es gehen versuch es einfach mal
erstell einfach ein textfeld erstellen
<form action="kurz.php" method="post">
<textarea id="text" name="text" cols="120" rows="15"></textarea><br />
<input type="Submit" name="Daten einlesen" value="Eintragen">
</form>
mfg
Aradiv -
Danke f?r die Antwort!
Aber: strip_tags kenn ich schon, allerdings kann ich diese Funktion nicht verwenden, da diese auch eventuelle Tags aus dem Body l?schen w?rde! Wie gesagt der Bodybereich ist variabel, wodurch durchaus m?glich ist, das dort auch mal HTML-Tags stehen, die weiterhin funktionieren sollten.
Vielleicht habe ich mich vorhin etwas undeutlich ausgedr?ckt! Sorry
mfg -
kurz.php
<php
$text = str_replace("<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes Dokument</title> </head> <body>", "", $text);
$text = str_replace("</body>","", $text);
echo $text;
?>
so m?sste es gehen versuch es einfach mal
erstell einfach ein textfeld erstellen
<form action="kurz.php" method="post">
<textarea id="text" name="text" cols="120" rows="15"></textarea><br />
<input type="Submit" name="Daten einlesen" value="Eintragen">
</form>
mfg
Aradiv
Sorry f?r den Doppelthread, aber alradiv war schneller! Noch etwas: Der Kopfbereich in der HTML Datei kann ja auch variieren: Theoretisch reicht es, wenn man einfach
<html>
<head>
<title>yxccy</title>
</head>
<body> usw. schreibt. Auch hier sollte der Headbereich entfernt werden! Ich hoffe, dass jetzt alles klar ist! -
Probier mal das:
preg_match('/\<body\>(.+)\<\/body\>/s', $html, $rx_matches);
$body = $rx_matches[1]; -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage