HTML Datei auslesen und Textinhalte in DB speichern

Webber

Mitglied
Hallo,
so nun hab ich mal ein größeres Problem :)

Ich hab eine HTML Datei als Vorlage und möchte, dass deren Inhalte (also nur die Texte) in einer DB speichern.
Nur wie stell ich das an?
Ich hab mir überlegt, erstmal einen Teil einzulesen, die Inhalte in ein Multidimensionales Array zu schreiben und von dort dann in die DB.
Dann den nächsten Teil einlesen, usw.
Hat einer ne Idee, wie man es am besten machen kann?
Die HTML Datei sieht wie folgt aus:

PHP:
<html>
<head>
	<title>HTML Page</title>
	<style type="text/css">
	h3.I_Rubrik {
		font-family : Arial, Helvetica, sans-serif;
		margin-bottom : 01%;
		font-size : larger;
		font-weight : bold;
	}
	UL.I_Text {
		font-family : Arial, Helvetica, sans-serif;
		margin-top : 0%;
	}
	h2.Rubrik {
		font-family : Arial, Helvetica, sans-serif;
		font-size : large;
		font-weight : bold;
	}
	h3.Titel {
		font-family : Arial, Helvetica, sans-serif;
		font-size : larger;
		font-weight : bold;
	}
	OL.text, UL.Text, P.Text {
		font-family : Arial, Helvetica, sans-serif;
	}
	P.ZumAnfang {
		font-family : Arial, Helvetica, sans-serif;
		font-style : italic;
		text-align : right;
	}
	</style>
</head>
<body>

<h2 class="Rubrik"><a name="0">Inhaltsverzeichnis:</a></h2>
	<H3 class="I_Rubrik">Rubrik 1</H3>
		<ul class="I_Text">
			<li><a href="#1">Text Nr.1</a>
			<li><a href="#2">Text Nr.2</a>
		</ul>
	<H3 class="I_Rubrik">Rubrik 2</H3>
		<ul class="I_Text">
			<li><a href="#3">Text Nr.3</a>
		</ul>
	<p class="ZumAnfang"><a href="#0">Zum Anfang</a></p><hr>
<!-- Ende Nr. 0 -->

<hr><h2 class="Rubrik">Rubrik 1</h2><hr>
<!-- Start Nr. 1 -->
	<h3 class="Titel"><a name="1">Text Nr.1</a></h3>
		<p class="Text">Hier steht dann der erste Text</p>
		<p class="Text">Bla bla bla</p>
		<p class="ZumAnfang"><a href="#0">Zum Anfang</a></p><hr>
<!-- Ende Nr. 1 -->

<!-- Start Nr. 2 -->
	<h3 class="Titel"><a name="2">Text Nr.2</a></h3>
		<p class="Text">Hier steht dann der zweite Text.</p>
		<p class="Text">Bla bla bla</p>
		<p class="ZumAnfang"><a href="#0">Zum Anfang</a></p><hr>
<!-- Ende Nr. 2-->

<hr><h2 class="Rubrik">Rubrik 2</h2><hr>
<!-- Start Nr. 3 -->
	<h3 class="Titel"><a name="3">Text Nr.3</a></h3>
		<p class="Text">Hiuer steht dann der dritte Text</p>
		<p class="Text">Bla bla bla</p>
		<p class="ZumAnfang"><a href="#0">Zum Anfang</a></p><hr>
<!-- Ende Nr. 3 -->

</body>
</html>

Und so soll es dann später in der mySQL stehen:

Rubrik&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Titel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Text

Rubrik 1 &nbsp;&nbsp;Text Nr.1 &nbsp;&nbsp;&nbsp;&nbsp;Hier steht dann der erste Text Bla bla bla

Rubrik 1 &nbsp;&nbsp;Text Nr.2 &nbsp;&nbsp;&nbsp;&nbsp;Hier steht dann der zweite Text Bla bla bla

Rubrik 2 &nbsp;&nbsp;Text Nr.3 &nbsp;&nbsp;&nbsp;&nbsp;Hier steht dann der dritte Text Bla bla bla

Hat einer eine gute Idee, oder gar sowas schonmal geschrieben?
Ich seh die Problematik darin, dass die ganzen HTML Tags raus müssen.
Und weiterhin die Struktur nicht all zu toll ist.
Der Aufbau der HTML Page soll (so die Information) in Zukunft so bleiben.
XML wird leider nicht angeboten, dass würd mir ja helfen, gib es aber leider nicht :-(

THX für alle Ideen schonmal im Voraus.

cu webber
 
Hm, die Positionen durch Leerzeichen zu ersetzten wird schwierig...
Die HTML-Tags kannst du aber leicht mir striptags herausfiltern.

Ds ganze könnte dann ungefär so aussehen:
PHP:
$htmlfile = striptags(implode("", file("deinedatei.html")));
mysql_query("INSERT INTO `htmlfiles` (`id`, `content`) VALUES ('', '".$htmlfile."')");
 
Die Idee mit strip_tags ist nicht schlecht, aber ganz so meinte ich das nicht.
Die von mir beschrieben Tabelle unten, soll nicht der Inhalt eines DB-Datensatzen sein.
Es sollen 3 sein.
Es soll also die HTML Datei so auseinanderlegen, dass immer ein Datensatz betsehen aus 'RUBRIK', 'TITEL', 'TEXT' erstellt.
Aus der von mir vorgelegten HTML Datei sollen also 3 Einträge erzeugt werden.
Das Script soll also nach bestimmten Stellen in der Datei schauen und diese Stellen filtern und dann DB-Einträge erstellen.
Ich hoffe nun ist klar was ich meine :)

cu webber
 

Neue Beiträge

Zurück