<br> to <p></p>

  • Hallo zusammen

    Ich habe ein angefangenes WP-Projekt übernommen. Nun bin ich da auf ein Problem gestossen:
    Im Backend kann man mit [tab_1 "titel"] den Text in Tabs unterteilen.

    Vor der Ausgabe laufen sie dann hier durch:

    PHP
    function content($content) {            if(preg_match("/\[tab_([0-9]+) \"([^\"]+)\"\](.+)\[\/tab_([0-9]+)\]/mUis", $content)) {                preg_match_all("/\[tab_([0-9]+) \"([^\"]+)\"\](.+)\[\/tab_([0-9]+)\]/mUis", $content, $tabs);
                    $tab_content    = "";                $tab_navigation    = "";
                    // Create Tabs                foreach($tabs[1] AS $index => $id) {                    $tab_content        .= '<h2 class="tab_toggler'.($index == 0 ? " active" : "").'">' . $tabs[2][$index] . '&nbsp;&nbsp;&nbsp;<i class="fa fa-angle-down"></i></h2><div class="tab_content tab_' . $id . ($index == 0 ? " active" : "").'" style="display:none;" >' . $tabs[3][$index] . '</div>';                }
                    foreach($tabs[0] AS $index => $data) {                    $content = str_replace($data, ($index == 0 ? "[tabs_parsed]" : ""), $content);                }
                    $content = str_replace("[tabs_parsed]", '<div class="tabbed_pane">' . $tab_content . '</div>', $content);            }
                return $content;        }

    Das klappt eigentlich prima. Nur kommen da enorm viele leere p-Klammern mit (<p></p>).

    Weis da jemand weshalb?

    • 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

  • PHP
    // Wert bleibt leer, 
    // da dieser eigentlich in der auskommentierten Zeile gefüllt wird.
    $tab_content    = "";
    // Wofür, da unbenutzt?
    $tab_navigation = "";
  • Vielen Dank für die Antwort. Ich habe die Seite im Backend ein wenig ausgemistet und konnte so schon ziemlich viel verbessern. Das

    PHP
    // Wofür, da unbenutzt?
    $tab_navigation = "";


    habe ich auskommentiert. Ist ein Rudiment aus einer älteren Version.
    jetzt sieht es viel besser aus.

  • Du benutzt print_r zur Kontrolle?

    PHP
    print_r($tabs);


    Da solltest Du ja sehen, wie viele leere Arrays enthalten sind oder woher die Umbrüche kommen. Ein mehrdimensionales Array müsstest Du halt ohnehin mit $tabs[1][0] ausgeben, wobei ich jetzt nicht weiß was enthalten ist, doch print_r verrät Dir das ja.

    Oder gegebenenfalls noch eine Abfrage einfügen, wie:

    PHP
    if ($tabs[1] != "<br />") {
    
    
        $content = str_replace(... )
    }

Jetzt mitmachen!

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