HTML -> Text (formatiert, aber ohne Tags)

Hi mal wieder,
ich hab diesen lustigen Editor

http://web5.kdnr543.w-cct.de/richtext.htm

der mir aus normalem Text HTML - Code macht, der dann auch so in der DB abgespeichert wird. Leider zeigt er auch diesen HTML Quellcode im Editor an, wenn ich ihn aus der DB auslese. Schlecht!
Ich hätte gerne, dass der Text, wenn man ihn aus der DB in den Editor einließt genauso aussieht, wie man ihn abgespeichert hat. Geht das? Gibt´s dazu ne Funktion, oder darf /muss ich selber schreiben?

Beispiel

Bla -> <p>
</p><span style="font-weight: bold;">Bla</span>
und das steht auch in der db und wird im editor angezeigt. Ich hätte aber gerne stattdessen Bla
 
PHP:
$text = html_entity_decode($x); //$x = text aus der datenbank
print $text;

Schon ist der HTML-Code wieder in Sonderzeichen umgewandelt. ;)

mfg
dmx
 
Wo genau hast du den Editor eigentlich her? Bzw.: Was hast du dafür bezahlt?

Ich wollte nämlich so ein Teil mal selbst machen, stellte aber schnell fest, dass es ziemlich schwierig ist.
 
@vertigo
Ich hab den Link zu dem Editor aus ner Forumsdiskussion über das Thema. Der Besitzter hat jetzt nicht wirklich Anspruch darauf erhoben, also denk ich mal, das er "frei" ist. Wenn du nachlesen willst:

http://www.php-resource.de/forum/showthread.php?threadid=28793

Ich dachte mir übrigens auch, dass es wohl nicht so leicht ist, aber wenn du dir den Quellcode für den Editor anschaust, stellst du fest, dass es wohl doch recht einfach geht.
Das geile ist: Sobald du den Code verstanden hast, kannst du das Ding ja nach belieben einfach ausbauen.
Grüße und viel Spass beim Editieren!
 
Mag ja sein, dass sich das jetzt ein wenig dumm anhört, aber: Wie bringe ich den Editor dazu, die Eingabe nicht im Alert-Fenster auszugeben, sondern per POST an eine PHP-Seite weiterzugeben?

Leider weiß ich nur wenig über JS, daher die Frage. Ich habe jetzt schon diverses ausprobiert, aber der Text wird einfach nicht übergeben.

Dazu habe ich den HTML- Bereich in "editor.html" in drei Zeilen geändert:
HTML:
        <form action="editor2.php" method="post">
       <IFRAME id="edit" src="editor.html" width="400" height="200" frameborder="0"></IFRAME>
      <textarea name="kommentar" style="visibility:hidden;"><SCRIPT>processData();</SCRIPT></textarea>

"editor2.php" sieht so aus:
PHP:
<?
        
        $ueberschrift=$_POST["ueberschrift"];
        $kommentar=$_POST["kommentar"];
        
        $html='
        <html>
        <body>
        <p><br>
        <b>Überschrift:</b><br>'.$ueberschrift.'
        <p>
        <b>Kommentar:</b><br>'.$kommentar.'
        </body>
        </html>
        ';
        
        echo $html;
        
        ?>

Wie man vielleicht erkennen kann habe ich versucht, die Funktion "processDate" innerhalb des Textfeldes auszuführen und die erzeugten Werte damit gleich and die PHP-Seite weiterzugeben. Das allerdings funktioniert nicht.

Zusätzlich habe ich im Editor noch ein Eingabefeld für die Überschrift gemacht, wie man beim PHP-Code sehen kann. Diese Übergabe funktioniert tadellos.
 
Zuletzt bearbeitet:
So weit so klar. Mit nem Textarea hatte ich auch schon experimentiert. Aber der Code

Code:
document.getElementById('edit').contentWindow.document.body.innerHTML

den du vorschlägst ist mir noch nicht so ganz klar. Wie und wo setzt du den genau ein? Denn bei dem Kollegen scheint es ja funktioniert zu haben. Ein kleines Beispiel oder einfach eine genauere Erläuterung wäre nett.
 
Zuletzt bearbeitet:
Du setzt es am Besten beim onsubmit des Formulares ein:
Code:
<form onsubmit="return (this.nameDesVerstecktenFeldes.value = document.getElementById( 'idDesIframes' ).contentWindow.document.body.innerHTML)"....>
 
Zurück