Html zu Text umwandeln mit Nummerierung, etc

Hallo,

ich möchte gern eine Zeichenkette, in der HTML-Code enthalten ist, in Text umwandeln.

Dabei sollen aber struktirierende HTML-Elemente als Text erhalten bleiben, also z.B. die automatische Nummerierung von ol-Listen im Text erhalten bleiben.

Es hilft mir also nicht, wenn ich nur die Tags entferne. Ich brauche eher so etwas wie eine Art Tag-Interpretation wie im Browser, und das anschließende Umwandeln der erzeugten Inhalte in eine Textdatei.

Also z.B. soll aus

– naja, ihr wisst, was ich meine. www will’s nicht anders

  1. bla

  2. noch mal bla

in der Textversion dann so was werden:

1. bla
2. noch mal bla

Geht das leicht? Und wenn ja, wie?
Auf dem Apache-Server läuft PHP4 (ich meine, es ist 4.0.2).

Danke für Tipps
A.

z.b. http://php-html.sourceforge.net/html2text.php
converts HTML to ASCII text, while attempting to preserve page formatting.

hoffe das isses schon .

Dein Problem läßt sich auch relativ einfach mit Regulären Ausrücken lösen:
Hier eine fertige Lösung:

$html = ‚… Hier den HTML-Code einsetzen …‘;

$text = ‚‘;
if(preg_match_all(’!- (.*?)
!’,$html,$array)) {

 foreach($array[1] as $key =\> $var)
 $text .= ($key+1).". $var\n";
 }
 echo $text;

MfG Michael

Es hilft mir also nicht, wenn ich nur die Tags entferne. Ich
brauche eher so etwas wie eine Art Tag-Interpretation wie im
Browser, und das anschließende Umwandeln der erzeugten Inhalte
in eine Textdatei.

Also z.B. soll aus

– naja, ihr wisst, was ich meine. www will’s nicht
anders

  1. bla

  2. noch mal bla

in der Textversion dann so was werden:

  1. bla
  2. noch mal bla

Geht das leicht? Und wenn ja, wie?

echo lynx -nolist -dump [http://www.google.de](http://www.google.de%60);

Ja danke, das ist schon ganz okay, macht nur aus den Nummerierungen einen Spiegelstrich. Ist aber erst mal besser als nichts, und ich kann da evtl noch was drehen. (Ist ja ein guter Anfang.)
Gruß

Danke dafür,

ich gestehe, ich verstehe die Ersetzungszeile nicht ganz, aber damit werden eventuelle Nummerierungen, die im Text wieder bei 1 beginnen, nicht korrekt nummeriert, oder?

Außerdem muss ich mit der Lösung auch noch andere Tags selbst umwandeln.
Ich hoffe eigentlich auf ein Include, das das schon kann, ähnlich dem, das RakonDark gepostet hat.

Aber danke für die Hilfe. Und ich nehme dein Beispiel auf jeden Fall zum Lernen.

)

A.

echo lynx -nolist -dump [http://www.google.de](http://www.google.de%60);

Danke!
Dann muss man immer den Umweg über eine Datei gehen, oder? Also erst den Inhalt der Stringvariablen speichern, und die Datei dann mit Lynx interpretieren?
Gruß
Anja

echo lynx -nolist -dump [http://www.google.de](http://www.google.de%60);

Danke!
Dann muss man immer den Umweg über eine Datei gehen, oder?
Also erst den Inhalt der Stringvariablen speichern, und die
Datei dann mit Lynx interpretieren?

nein, lynx kann auch -stdin, dann musst du „nur“ noch deinen quelltext richtig escapen.
mein vorschlag war nicht ganz ernst gemeint - koennte aber ein billiger hack sein, wenn der kontext entsprechend wenig anspruchslos ist.