Beiträge: 2.267
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Ist das Problem durch ein Update entstanden, oder ist das Forum eine Neuinstallation?
Ich bin ehrlich gesagt noch nicht ganz weg davon, das es doch am Editor liegt.
Kannst Du mal die /jscripts/bbcodes_sceditor.js und das Template codebuttons mit dem Original vergleichen, ob es da evtl. Differenzen gibt.
Sind im Quellcode des Beitrages HTML-Fehler zu sehen?
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Seit wann das Problem wirklich besteht, das kann ich gar nicht sagen, denn der Beitrag mit dem PHP-Code besteht seit ewigen Zeiten. Das Problem ist mir aber erst jetzt aufgefallen. Überprüft habe ich es in einem alten 1.6er Forum, einem Forum, das von dieser 1.6er Version auf 1.8.22 geupdated wurde und einem anderen Forum mit der Version 1.8.22 das erstmalig mit 1.8.5 installiert und seitdem kontinuierlich geupdated wurde.
Was gegen ein Editor-Problem spricht: in den genannten Foren nutze ich sowohl den MyBB Editor aber auch den markItup-Editor von Stefan. Das Problem tritt unabhängig vom Editor auf.
Beiträge: 2.267
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Hallo Jockl,
langsam geht mir das Wissen aus, um Dir konstruktiv helfen zu können.
Wird denn der Code - trotz des Fehlers - im Beitrag korrekt angezeigt?
Wenn ja, gibt es bei Dir irgendetwas Hausgemachtes (PlugIn, eigenes Template, Templateänderung etc.), was immer auf den ersten Beitrag eines Threads zugreift??
Könnte der Fehler evtl. dadurch entstehen und gar nicht durch den Beitrag selbst?
......alles nur noch Theorie....
Grüße
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
(06.01.2020, 19:32)Jockl schrieb: Der Fehler erscheint in zwei verschiedenen Foren (jeweils 1.8.22) nur dann wenn der o.a. PHP Code im ersten Beitrag eines Themas enthalten ist. Wenn ich den Code in ein bereits vorhandenes Thema als weiteren Beitrag einsetze, dann erscheint der Fehler nicht..... Das klingt sehr danach als würde ein Plugin den Inhalt des ersten Beitrags zur Erstellung von Meta-Tags o.ä. verwenden und eine fehlerhafte Ausgabe erzeugen. Kaputte Meta-Tags passen nämlich zu der beschriebenen Ausgabe oberhalb des Forums.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
08.01.2020, 13:58
(Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2020, 13:59 von SvePu.)
@StefanT
Das kann es tatsächlich sein....ich habe ein (von mir geschriebenes) Metatag Plugin mal "entsichert" und nun folgende Anzeige im showthread bekommen.
Beiträge: 2.267
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
@Sven
Damit sollte das Problem wohl eingegrenzt sein.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Krass, wie kommt man nur auf diese Idee!? Von solchen Kirstallkugeln bräuchte ich bitte auch ein paar....
Ich habe tatsächlich ein eigenes Plugin am Laufen, das Metatags u.a. für die showthread.php mit dem nachfolgenden Code, den ich mal irgendwo hergezogen habe, erzeugt. Wenn ich diese Passage auskommentiere, dann ist der Fehler weg.....
PHP-Code: case "showthread.php": $tid = intval($mybb->input['tid']); $query = $db->simple_select("threads", "subject", "tid = ".$tid.""); $threaddescription = $db->fetch_array($query); $query = $db->simple_select("posts", "message", "tid = ".$tid." AND visible = '1' ORDER BY dateline ASC LIMIT 0,1"); $threadmessage = $db->fetch_array($query); // delete the attachment strings of the post $threadmessage['message'] = preg_replace("#\[.*\]#isU","", $threadmessage['message']); // deleting whitespaces, line feeds, returns etc. $threadmessage['message'] = preg_replace("/\s+/", " ", $threadmessage['message']); // reduce the message down to 100 letters if (strlen($threadmessage['message']) > 100) { $threadmessage['message'] = substr($threadmessage['message'], 0, 100) . "..."; } $metadescription = "<meta name='description' content='".$threaddescription['subject'].", ".$threadmessage['message']."' />"; break;
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
Na ist doch Top, dass der Fehler gefunden wurde.
Jockl, ersetze den Codeteil mal bitte durch:
PHP-Code: case "showthread.php": $thread = get_thread($mybb->get_input('tid', MyBB::INPUT_INT)); $title = htmlspecialchars_uni($thread['subject']); $query = $db->simple_select("posts", "message", "pid = '{$thread['firstpost']}' AND visible = '1'"); $firstpost = $db->fetch_array($query); $description = htmlspecialchars_uni($firstpost['message']); $description = preg_replace("/(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/i", "", $description); $description = preg_replace(array("/|[[\/\!]*?[^\[\]]*?]|/si", "/(\r\n)+|\r+|\n+|\t+/i"), array("", " "), $description); $description = trim($description); if(strlen($description) > 100) { $description = my_substr($description, 0, 100).'...'; } $metadescription = "<meta name='description' content='".$title.", ".$description."' />"; break;
Damit sollte es reibungslos klappen.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Danke Dir, Sven, damit klappt's wunderbar!
Und ich merke mal wieder wie sehr ich auf reguläre Ausdrücke stehe.....
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
Das hat nichts mit den regulären Ausdrücken zu, hier hat das htmlspecialchars_uni gefehlt. Ich persönlich würde dieses allerdings erst am Ende einfügen, sonst besteht die Gefahr, dass HTML-Entities abgeschnitten werden können.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
|