Zeilenumbruch in HTML aus PHP wird nicht dargestellt

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Nuramon
Mitglied
Beiträge: 250
Registriert: 05.02.2012 21:45
Wohnort: Solingen
Kontaktdaten:

Zeilenumbruch in HTML aus PHP wird nicht dargestellt

Beitrag von Nuramon »

Huhu ihr.
Ich bastel gerade an etwas, wo ich eine HTML-Tabelle im PHP-Code erzeuge und dann per Template-Variable anzeigen lasse.
Das funktionert soweit auch wie gewünscht,
aber sobald ich den Tabellencode nicht direkt per Template-Variable in den Quelltext setze, sondern den Code per Javascript durch ein OnClick in ein Element per innerHTML einfügen möchte, werden Zeilenumbrüche nicht angezeigt.

Mein Code sieht folgendermaßen aus:

Code: Alles auswählen

    $table = "<table class='test_table' width='500' height='160' style='min-width:500px; max-width:500px; min-height:160px; max-height: 160px;'>
                <tr height='30' tyle='min-height:30px; max-height:30px;'>
                    <th class='test_title' align='center' colspan='3'>
                        " . $test['name'] . "
                    </th>
                </tr>
                <tr height='40' style='min-height:40px; max-height:40px;'>
                    <td align='center' width='60' style='min-width:60px; max-width:60px;'>
                        <img src='" . $phpbb_root_path . "images/tests/" . $test['image'] . "' alt='" . $test['name'] . "' />
                    </td>
                    <td class='test_text' width='390' style='min-width:390px; max-width:390px;'>
                        " . $test['text'] . "
                    </td>
                    <td class='test_points' align='center' width='50' style='min-width:50px; max-width:50px;'>
                        " . $test['points'] . "
                    </td>
                </tr>
                <tr height='20' style='min-height:20px; max-height:20px;'>
                    <td align='center' colspan='3'>" . $rank . "</td>
                </tr>
                <tr height='10' style='min-height:10px; max-height:10px;'>
                    <td align='left' colspan='3'><p class='test_count'>" . $test['count'] . "</p></td>
                </tr>
                <tr height='10' style='min-height:10px; max-height:10px;'>
                    <td align='right' colspan='3'><p class='test_date'>" . date("d.m.Y H:i",$test['time']) . "</p></td>
                </tr>
            </table>";
    // Ersetze alle Enters
    $table = preg_replace("/\r|\n/s", "", $table);
Festgestellt habe ich den Fehler in der Zeile

Code: Alles auswählen

" . $test['text'] . "
Der Text ist teilweise etwas länger als 390 px. Bei der normalen Anzeige wird es wie gesagt auch umgebrochen.

Wenn ich es allerdings mit folgendem Code setze,

Code: Alles auswählen

function setHTMLCode(elementID)
{
    var target = document.getElementById('zielElement');
    var html = "";
    switch(elementID)
    {
        <!-- BEGIN elements -->
            case {elements.ID}:
                html = "{elements.HTML_TABLE}";
                break;
        <!-- BEGINELSE -->
            default:
                html = "Ist leer.";
                break;
        <!-- END -->
    }
   
    target.innerHTML = html;
   
} 
dann ist kein Zeilenumbruch mehr da.
Sonst funktioniert der Code allerdings tadellos.

Kann mir jemand verraten, woran das liegt?
Oder wie ich das ändern kann?
Direkte <br /> möchte ich nur ungern einfügen, der Text wird aus der Datenbank ausgelesen und ich müsste ihn dann entsprechend dort anpassen, was unsauber ist, da ich ihn auch woanders verwende und es in der normalen Tabelle auch geht.
Das Pinke Forum
Das Pinke Forum - werde Teil einer freundlichen Community, die dir bei Fragen rund um Liebe, Sex, Ernährung, Schule oder bei Problemen aller Art zur Seite steht! Verfasse Beiträge, erstelle Threads und lern nette Leute kennen; kostenlos und toll betreut.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“