Font, Fett, Kursiv, Unterstreichen

Brooklyn
Hallo zusammen.

Nachdem mir zuletzt so super geholfen wurde, versuche ich noch ein letztes Mal mein Glück... smile

Geht um folgendes: Ich habe ein Feld, in welches ich per Editor Texte eingebe. Sowei verständlich. Diese sollen allerdings teilweise fett sein, kursiv, unterstrichen, etc. Teilweise auch eine andere Schriftart / Größe enthalten.

Die üblichen befehle (z.B. <b></b>, etc) funktionieren nicht. Gibt's da Alternativen!?

Ein Beispiel!

Danke schon einmal. smile
[kamui]
Also mit reinem HTML geht das nicht, denn innerhalb einer <textarea> kannst du keinen HTML-Code nutzen.

Daher gibt es, denke ich, 2 Möglichkeiten:
- du simulierst eine Textarea mit einem div-Kasten (geht natürlich dann nicht, wenn Eingaben gemacht werden sollen)
- du arbeitest mit einem WYSIWYG-Editor (e.g. TinyMCE), dieser kann via JS oder Java die gewünschten Änderungen darstellen.
Dizzy.w3
Hi,

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
function parseFormat($string)
{
    $res htmlentities($string);
    $res str_replace("\r\n""<br />"$res);
    $res str_replace("&lt;b&nbsp;""<b>"$res);
    $res str_replace("&lt;/b&rt;""</b>"$res);
    
    return $res;
}


Gruß
Dizzy
[kamui]
Ich weiß zwar nicht, was du damit sagen willst ...

aber ich habe deinen Code mal etwas verändert Augenzwinkern

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
$allowed = array("b""u");

function rpl($value) {
  global $allowed;
  
  $letter str_replace('"''\\"'$value[1]);
  $text str_replace('"''\\"'$value[2]);
  if ($value[3] != $letter) return $value[0];
  else {
    if (in_array($letter$allowed)) return "<b>".$text."</b>";
    else return "&lt;".$letter."&gt;".$text."&lt;".$letter."&gt;";
  }
}

function parseFormat($string) {
  return preg_replace_callback("/&lt;(.*)&gt;(.*)&lt;\/(.*)&gt;/Uis""rpl"$string);
}
Dizzy.w3
@kamui
er wollte wissen wie er es lösen kann, ich habe ihm die so ziemlich einfachste Lösung in PHP gegeben.

Gruß
dizzy
[kamui]
Ah, kay Augenzwinkern Habs gerade nochmal durchgelesen und hatte es vorher falsch verstanden - sorry