[Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Alle bestätigten Fehler in CONTENIDO 4.10 (erledigte Fehler werden durch geschlossene Beiträge gekennzeichnet).
Antworten
dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

[Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Beitrag von dermicha » Mi 16. Okt 2019, 12:18

Hallo zusammen,

wenn man im Mustermandanten im Head Folgendes einfügt:

Code: Alles auswählen

<meta name="description" content="Düse Düse">
bekommt man folgende (falsche) Warnung:
Tag 'html' hat keinen End-Tag (Start-Tag befindet sich in Zeile 5, Zeichen 17)
Erstaunlicherweise nur bei 2 Mal "Düse", nimmt man eines davon weg, kommt die Warnung nicht mehr.

Fügt man im Head noch Folgendes

Code: Alles auswählen

<meta name="keywords" content="Düse Düse Düse Düse">
und im Footer-div Folgendes ein:

Code: Alles auswählen

Link · Link · Link · Link · Link · Link
erhält man zusätzlich die (ebenfalls falsche) Warnmeldung:
Tag 'body' hat keinen End-Tag (Start-Tag befindet sichin Zeile 31, Zeichen 5)
Erstaunlicherweise hier auch nur ab dieser Anzahl an Bullets (bei weniger passiert es nicht).

Kann es sein, dass da irgend etwas beim Parsen des Layouts falsch läuft? Hängt es vielleicht mit diesem Problem zusammen oder hat eine ähnliche Ursache?:
viewtopic.php?f=118&t=43492

Bei einem von 4.9.12 upgedateten Mandanten führte das zusammen mit ein paar anderen Sonderzeichen im Layout sogar dazu, dass ein anderer umfassender div-Block angeblich keinen End-Tag hat und dadurch die darin enthaltenen Container nicht mehr unter den Vorlagen angezeigt und statt der Inhalte im Frontend nur die Containernamen ausgegeben werden. Das konnte ich bisher aber nicht reproduzieren.

Das upgedatete und das Test-System laufen unter PHP 7.2. Könnt Ihr das Problem bestätigen?

Danke und viele Grüße

Michael

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: [Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Beitrag von Oldperl » Do 17. Okt 2019, 19:26

Hallo Michael,

danke für die Bug-Meldung.
Ich kann den Fehler in CONTENIDO 4.10.0 bestätigen.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: [Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Beitrag von dermicha » Fr 18. Okt 2019, 08:53

Hallo Ortwin, vielen Dank!

marcus.gnass_4fb
Beiträge: 87
Registriert: Do 26. Apr 2012, 23:02
Kontaktdaten:

Re: [Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Beitrag von marcus.gnass_4fb » Mi 30. Okt 2019, 11:36

Hallo Michael,

Ein Workaround ist, dem Layout am Ende der Datei noch einen Zeilenumbruch zu spendieren.

Der eigentliche Fix ist aber in contenido/classes/class.htmlparser.php vorzunehmen:

Code: Alles auswählen

    /**
     *
     * @return number|string
     */
    protected function _currentChar() {
        if ($this->getHtmlTextIndex() >= $this->getHtmlTextLength()) {
            return -1;
        }
        $HtmlText = $this->getHtmlText();
        // return $HtmlText{$this->getHtmlTextIndex()}; <= ist seit PHP 5.3 deprecated und funktioniert mit multibyte strings nicht korrekt
        return cString::getPartOfString($HtmlText, $this->getHtmlTextIndex(), 1);
    }
Gruß
Marcus

dermicha
Beiträge: 95
Registriert: Mi 9. Dez 2009, 17:57
Kontaktdaten:

Re: [Bug?] Problem beim Parsen von Layouts mit Sonderzeichen

Beitrag von dermicha » Mi 30. Okt 2019, 12:06

Hallo Marcus,

vielen Dank für die Problemlösung!

Viele Grüße
Michael

Antworten