1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Fehler bei loadHTML

Dieses Thema im Forum "Design" wurde erstellt von ramin, 9. März 2019.

  1. ramin

    ramin Member

    Registriert seit:
    24. Oktober 2015
    Beiträge:
    17
    Zustimmungen:
    0
    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;

    }
     
    #1 ramin, 9. März 2019
    Zuletzt bearbeitet: 9. März 2019
  2. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    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 &
     
    #2 mensmaximus, 9. März 2019
    Zuletzt bearbeitet: 9. März 2019
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden