Eigener Editor zur Formatierung

Hallo,

ich bräuchte mal wieder die HIlfe von Euch und zwar möchte ich um ein besseren Verständnis von PHP zu erlangen einiges anfangen selber zu programmieren und anderen diesen Editor. Leider fehlen mir die Ideen wie ich ab hier weiter machen, was leider noch nicht viel ist.

Folgendes steht:
PHP:
<?
$fett = 
echo "<img src='bold.jpg' OnClick='$fett'>";
echo "<textarea>";
echo "Ausgabe und Eingabe des Textes der hier auch formatiert werden kann - Weiss nicht weiter...";
echo "</textarea>";
?>

Erklärung:
$fett soll <b> </b> ausgeben so das der Nutzer zwischen den beiden Tags den Text platzieren kann. Die Tags sollen im Textfeld (<textarea>) erscheinen, aber nur nach Klick auf das entsprechende Bild, hier "bold.jpg".

Das Ergebnis soll nachher in die Datenbank rein, ausgelesen werden und auch wieder zum editieren ausgegeben werden usw.

Sicherich wäre es einfacher fertiges zu nehmen, aber ich lerne so besser. Nur fehlen mir die nötigen Zwischenteile um zum Ergebnis zu erlangen. Ich zähle auf Euch.

Schon einmal Danke im voraus!
 
Doch noch ein "Problem" wie bekomme ich das denn, war wahrscheinlich meine Idee warum ich das auch im PHP-Forum platziert habe, umgewandelt was ich da einfügen lassen möchte?

Wenn dort ein Tag eingefügt wird das nirgends in den entsprechenden HTML-Tag umgewandelt.
 
Du meinst also das zumbeispiel [ i m g] blub.jpg [/ i m g] in <img src="...."> umgewandelt wird richtig?

Dann kannst du dir das
und das mal anschauen
 
Das ist nicht das Problem die Befehle kenne ich, meine Wissenslücke besteht eher darin wie ich das JavaScript mit dem PHP verknüpfen kann so das die Umwandlung stattfindet. Oder reicht es wenn ich dem Feld (textarea) eine Variabel zuweise und diese dann (vor oder nach dem Formular?) umwandeln lasse?

Also im Prinzip so:
PHP:
<?
$text = $_POST['text']);  
$text = str_replace('[link]', '<a href="" target="_blank">', $text);
$text = str_replace('[/link]', '</a>', $text);
?>

Der Textarea weiß ich dann mit name="titel" alles nötige zu. Liege ich damit richtig dass das noch nicht richtig ist, weil der eingefügte Link im Textfeld ja noch garnicht zwischen den "" bei "href" gesetzt wird. Dann müsste ich das so machen oder?

PHP:
<?
$text = $_POST['text']);  
$text = str_replace('[link]', '<a href="', $text);
$text = str_replace('[/link]', '" target="_blank"></a>', $text);
?>

Aber wie bekomme ich dann zwischen den öffnenden und schließenden Tag den Linknamen?
 
Versuch mal

PHP:
<?php
  $text = '[link]http://www.tutorials.de[/link]';
  $search[] = '/\[link\](.*?)\[\/link\]/i';
  $replace[] = '<a href="$1">$1</a>';

  echo preg_replace($search, $replace, $text);
?>
 
Mittlerweile ist es so:

PHP:
<?
$text = str_replace('[link', '<a href="', $text);
$text = str_replace('][/link]', '" target="_blank"></a>', $text);
include("../konf/db.konf");
if($submit2)
{
$text = mysql_real_escape_string($_POST['eingabe']);
$result2 = mysql_query("INSERT INTO test (eingabe) VALUES ('$text')",$ms);
echo "<b>Danke! Alles addiert!</b>";
}
else
{
?>


  <form name="formular" action="editor.php">
    <p><textarea name="eingabe" cols="30" rows="10">Ihre Nachricht</textarea></p>
    <p><input type="button" value="Url" onClick="insert('')"></p>
    <p><input type="submit" name="submit2" value="Einsenden"> </p>
  </form>


  <?
}
?>

Klappt aber nicht.

@Kalma
Versteh ich nicht. Denn es soll ja egal sein was für einen Link jemand dort eingibt.

"Notfalls" auch in dieser Art:
PHP:
[link=http://www.test.de]linkname[/link]

Komme irgendwie nicht so recht voran. :confused:
 
Kannst du doch machen

PHP:
<?php
  $text = $_POST['text'];

  // Alles was ersetzt werden soll
  $search[] = '/\[link=(.*?)\](.*?)\[\/link\]/i';
  $search[] = '/\[link\](.*?)\[\/link\]/i';

  $replace[] = '<a href="$1">$2</a>';
  $replace[] = '<a href="$1">$1</a>';

  $text = @preg_replace($search, $replace, $text);

  echo $text;
?>

probiers, geht
 
Ich glaub es dir ja ich bekomme das nur in meinem eigenen Code rein, weil so oder so funktioniert das zuletzt gepostet schon mal nicht. Ich muss mal nachher nochmal drüber schauen. Bisher bereitet mir das Kopfweh :eek::)
 

Neue Beiträge

Zurück