Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabellen in DIV-Boxen mit PHP setzen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabellen in DIV-Boxen mit PHP setzen

    Hallo!

    Ich habe den Inhalt einer Website als string vorliegen. Darin sind tabellen der klasse wp_tabelle enthalten. Ich möchte im String nach diesen Tabellen suchen, und sie in eine DIV-Box der Klasse div-Tabelle einfügen.

    dazu habe ich dies versucht:

    PHP-Code:
    functiontable_div$content ) {
    $doc newDOMDocument('1.0''utf-8');
    $doc->loadHTML($content); 
    $selector newDOMXPath($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->saveXML(); 
    $content utf8_encode($content);
    // $content = var_export($result, true);
    }
    return
    $content;

    Allerdings passen jetzt die Sonderzeichen nicht mehr. Außerdem bekomme ich eine Fehlermeldung, wenn im Content ein Video-Tag oder ähnliches ist.


    Hintergrund: Ich brauche Tabellen in Wordpress, die im Editor erstellt werden. Leider sind diese auf mobilgräten zu breit, sodass ich sie in eine scrollbare div-box packen möchte. dies geschieht in der function.php, in der ich einen Filter für de content erstellen kann. der content steht mit dabei in einer Variable zur Verfügung.

    Hilfe wäre nett...

    Danke!


  • #2
    Spontan tippe ich Mal darauf, dass du durch das utf8_encode() dir den Content zerlegst.
    Probiere es Mal ohne das Utf8_encode()

    Kommentar


    • #3
      Falls jemand das gleiche Problem hat: so habe ich es gelöst (keine Ahnung wieso)



      PHP-Code:
      functiontable_div$content ) {
      $doc newDOMDocument();
      $doc->encoding 'utf-8';
      $doc->loadHTML(utf8_decode($content)); 
      $selector newDOMXPath($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;

      Kommentar


      • #4
        Setze Code bitte in Code Tags. Hier im Editor gibt es dafür auch Schalter für PHP, HTML und CODE-Tags

        Kommentar

        Lädt...
        X