Fehler bei loadHTML

  • Hallo! ich möchte die Tabellen, die ich im Wordpress-Editor erzeuge, in eine DIV-Box packen. Der grund ist, dass diese Tabellen in kleineren Auflösungen scrollbar sein sollen und nicht über den Rand hinausgehen.
    Das geht auch soweit (code aus function.php im Anhang), allerdings kommen immer fehlermeldungen, wenn auf der Worspressseite etwas wie Videos oder so eingebunden ist.
    dabei sind es verschiedene Fehlermeldngen: Z.B.

    DOMDocument::loadHTML(): Tag section invalid in Entity,
    DOMDocument::loadHTML(): Tag figure invalid in Entity
    DOMDocument::loadHTML(): Tag video invalid in Entity
    DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity

    Was kann ich tun?
    Danke!

    function table_div( $content ) {

    $doc = new DOMDocument();
    $doc->encoding = 'utf-8';
    $doc->loadHTML(utf8_decode($content));

    $selector = new DOMXPath($doc);

    $result = $selector->query("//*[contains(@class, 'wp-block-table')]");
    foreach($result as $node) {
    $div = $doc->createElement('div');
    $div->setAttribute("class", "table-container");
    $node->parentNode->replaceChild($div,$node);
    $div->appendChild($node);

    $content = $doc->saveHTML( $doc->documentElement ); // important!

    // $content = var_export($result, true);
    }
    return $content;

    }

    Einmal editiert, zuletzt von ramin (9. März 2019 um 09:52)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Entweder Du verwendest saubere HTML5 Deklarationen oder Du unterdrükst die Meldungen:
    @$doc->loadHTML(utf8_decode($content));

    PS: Grund für die Meldungen wird wahrscheinlich eine URL zum Video sein, die Parameter enthält die mit "&" verbunden sind. Der Parser erwartet aber &

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

    Einmal editiert, zuletzt von mensmaximus (9. März 2019 um 11:35)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!