HTML to BBCode in Textarea

d-braun

Erfahrenes Mitglied
Hallo,

Ich schreibe mir gerade eine kleine Eingabehilfe um meine Homepage leichter verwalten zu können.

Ich habe ein Eingabeformular mit einem Editfeld (Titel) und einer Textarea (Inhalt).

Wenn ich nun auf einen Button klicke erscheint ein Popup indem ich den zu formatierenden Text eingebe welcher dann später (Submit) umgewandelt wird und in einer Textdatei gespeichert wird.

bbcode.js
Code:
function format(strTag)
{
objEditor = document.edit.inhalt;
blnIe     = document.selection;
blnMoz    = (objEditor.selectionStart || objEditor.selectionStart == '0');
if(blnIe)
    {
        objEditor.focus();
        strTxt=document.selection.createRange().text
        if(strTxt=='')
            {
                strTxt=prompt('Text eingeben','');
                if(!strTxt||strTxt=='')return;
            }
        document.selection.createRange().text='['+strTag+']'+strTxt+'[\/'+strTag+']';
        document.selection.createRange().select();
    }
else if (blnMoz)
	{ 
		intStart = objEditor.selectionStart;
		intEnd = objEditor.selectionEnd;
		
		strTxt=String(objEditor.value).substring(intStart,intEnd);
		if(strTxt=='')
            {
                strTxt=prompt('Text eingeben','');
                if(!strTxt||strTxt=='')return;
            }
		objEditor.value = String(objEditor.value).substring(0, intStart) +'['+strTag+']'+strTxt+'[\/'+strTag+']'+ String(objEditor.value).substring(intEnd, objEditor.value.length);
		objEditor.focus();
	}
else
	{
		strTxt=prompt('Text eingeben','');
        if(!strTxt||strTxt=='')return;
        objEditor.value+='['+strTag+']'+strTxt+'[\/'+strTag+']';
	}
}

action-PHP (onSubmit)
PHP:
$titel = $_POST["titel"];
$inhalt = $_POST["inhalt"];
$inhalt = stripslashes($inhalt);
$titel = stripslashes($titel);

$inhalt = str_replace("ä","ä",$inhalt);

$inhalt = preg_replace("/\[red\](.*)\[\/red\]/isU", "<font color=red>$1</font>", $inhalt);

$titel = str_replace("ä","&auml;",$titel);

      $Pfad=$_POST['pfadangabe'];

      $titeldatei = fopen ("../datenbank/".$Pfad."/titel.txt","w");
      fwrite($titeldatei, $titel);
      fclose($titeldatei);

      $inhaltdatei = fopen ("../datenbank/".$Pfad."/text.txt","w");
      fwrite($inhaltdatei, $inhalt);
      fclose($inhaltdatei);
      echo "<font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#000000\" size=\"-1\">Dokument erfolgreich aktualisiert!</font>";


Nun zu meiner Frage:
Es funktioniert alles wunderbar. Bloß wenn ich die Textdatei wieder auslese um sie wieder zu bearbeiten...

PHP:
$fp=fopen("../../datenbank/index/titel.txt","r");
 
 while($line=fgets($fp,1024)) {
  echo "$line";
 }

 fclose($fp);

... wird der BBCode nicht angezeigt.
Wie bekomme ich das da eingebaut dass die Textdatei wie rückwärts formatiert wird. Ich hab schon versucht ne re_action.php zu schreiben aber das hat nich wirklich geklappt.

Kann mir da einer helfen?


MFG

dom
 
Zurück