Mo. 21.05.2007
08:35 Uhr
#2
- Registriert seit
- 16.06.2006
- Beiträge
- 15.334
- Beitragswertungen
Also mit BBCode sollte es eigentlich nix zu tun haben, der hat nur mit der Ausgabe was zu tun. Ich weiß allerdings auch nicht woran es liegt, wenn es nur beim Editieren kommt.
Mo. 21.05.2007
10:21 Uhr
#3
- Registriert seit
- 19.02.2006
- Beiträge
- 43
- Beitragswertungen
Na irgendwie eventuell doch.
Also der BBCode selber hat keinen Fehler, denke ich... aber die edit_post.php, wo der entsprechende Eintrag fehlt!!
Der Text wird ja ausgeben ... und zwar direkt im Texteingabefeld!
Dieser wird allerdings "stumpf" aus der Datenbank gelesen und ohne Umwandlung ins Textfeld eingefügt (soweit ich das aus der edit_post.php ersehen kann).
Vermutlich muß er in etwa dieser Form umgewandelt werden:
$txt = BBCode($row->text)
oder so ähnlich... hab die datei grad nicht vor augen und kanns erst später selber mal testen!
Mo. 21.05.2007
14:28 Uhr
#4
- Registriert seit
- 19.02.2006
- Beiträge
- 43
- Beitragswertungen
Ok ... Fehler scheinbar gefunden.
Es lag vermutlich am Update auf ilch 1.1 G / Ein Teil der edit_post.php wurde verändert:
neu (ilch 1.1 G):
if (isset($_POST['priview'])) {
$tpl->set_out('txt', bbcode(unescape($txt)), 0);
vorherige version der datei (dann werden die Umlaute wieder korrekt angezeigt):
if (isset($_POST['priview'])) {
$tpl->set_out('txt', bbcode($txt), 0);
Hab's geändert und alles klappt wieder prima!
Mo. 21.05.2007
15:29 Uhr
#5
- Registriert seit
- 16.06.2006
- Beiträge
- 15.334
- Beitragswertungen
Auch wenn ich dich enttäuschen muss, der Code den du gepostet hast ist für die Vorschaufunktion und nicht für das Texteingabefeld, also wenn es danach geht, ist es eher sehr verdächtig und geändert wurde das, damit keine \ vor ' oder " oder \ in Texten beim editieren erscheinen.
Di. 22.05.2007
00:36 Uhr
#6
- Registriert seit
- 19.02.2006
- Beiträge
- 43
- Beitragswertungen
Stimmt... hab's auch grad bemerkt!
es ist diese Zeile weiter unten:
'txt' => (isset($_POST['priview']) ? escape_for_fields(unescape($txt)) : escape_for_fields($txt2)),
früher:
'txt' => $txt2,
... dudurch werden Umlaute wieder normal !!!
Di. 22.05.2007
10:08 Uhr
#8
- Registriert seit
- 19.02.2006
- Beiträge
- 43
- Beitragswertungen
Wenn ich das so einfüge, wie du schriebst, hab ich wieder keine Umlaute :-(
$txt2 bei mir, weil ich noch etwas umgeschrieben habe... weil es Probleme gibt bei dem Postanhang: "Zuletzt modifiziert ...", wenn im Namen desjenigen zB "[" , "]" , " " (zB beim ClanTag) vorkommen.
Dann wird die Zeile nicht erneuer, sondern doppelt ausgegeben, weil diese Zeile falsch erkannt und für das Script als nich tvorhanden gilt!!