><&" werden beim Import falsch ersetzt

  • Affected Version
    WoltLab Suite 5.5
    Affected App
    WoltLab Suite Forum

    Bei dem Datenimport von WBB4 in in WBB5.5 werden HTML Special chars fehlerhaft ersetzt.

    Z.B. wird der ASCII emoji '<.<' nach der Datenaktualisierung als '&amp;lt;.&amp;lt;' dargestellt.


    Der Grund dafür ist die in 5.5 eingeführte Zeile in HtmlInputProcessor->convertToHtml()

    PHP
    $html = \str_replace(['<', '>', '&', '"'], ['&lt;', '&gt;', '&amp;', '"'], $html);

    Da das & hier an dritter stelle steht, ersetzt es auch die & die in der Ersetzung von < und > verwendet wurden. daher wird aus &lt; dann auch &amp;lt;

    Das Problem betrifft sehr wahrscheinlich auch alle anderen Verwendungen von convertToHtml().

    Das lässt sich beheben indem die Ersetzung von & als aller erstes gemacht wird sodass die Zeile nun so aussieht:

    PHP
    $html = \str_replace(['&', '<', '>', '"'], ['&amp;', '&lt;', '&gt;', '"'], $html);
  • Zelda-Chronicles

    Changed the title of the thread from “><&" werden falsch ersetzt” to “><&" werden beim Import falsch ersetzt”.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!