Antworten auf deine Fragen:
Neues Thema erstellen

text in spalten mit php

susiH

Aktives Mitglied

hi leute...
ich möchte auf meiner webseite einen text, der sich automatisch auf 5 spalten aufteilt. dafür habe ich dieses script gefunden:

PHP:
<div id="spalten">

<p><?php
// Text einlesen
$text = implode(" ", file("http://www.cottbus-werbung.de/wordpress/wp-content/themes/werkzwei/produkte.txt"));
$spalten = 5; // Anzahl Spalten

$length = strlen($text);
$length = ceil($length/$spalten);
$words = explode(" ",$text);
$c = count($words);
$l = 0;
for($i=1;$i<=$spalten;$i++) {
$new_string = "";
echo "<td style=\"text-align:left\" valign=\"top\">";
for($g=$l;$g<=$c;$g++) {
if(strlen($new_string) <= $length || $i == $spalten)
$new_string.=$words[$g]." ";
else {
$l = $g;
break;
}
}
echo $new_string;
echo "</td>";
}
?></p>

</div>

allerdings verteilt sich der text nicht auf diese fünf spalten, sondern es ist einfach eine lange liste. statt der liste habe ich es auch schon mit einfachen umbrüchen versucht, aber gleiches ergebnis...
im css habe ich der id spalten eine höhe von 600 px gegeben, aber auch da ändert sich nichts.

danke schon mal für eure hilfe.
 

Elric

Noch nicht viel geschrieben

AW: text in spalten mit php

Was ich auf den ersten Blick sehe ist, dass du in der Schleife mit <td> versuchst Spalten zu erzeugen. Dir fehlt aber generell <table></table> aussen herum. Zweitens schliesst du nur einmal nach der Schleife eine Spalte mit </td>.
Nimm doch mal das gesamte erzeugte HTML und valdiere es hier.
 

owieortho

Aktives Mitglied

AW: text in spalten mit php

In diesem Snippet fehlt die korrekte Syntax, um eine Tabelle zu erzeugen. Es gibt weder table- noch tr-tags. Ich habe das mal ergänzt und es hat dann funktioniert:
Code:
<div id="spalten">
<table border="2" width="600"><tr><?php
// Text einlesen
$text = implode(" ", file("http://pfad/zu/deiner/datei"));
$spalten = 5; // Anzahl Spalten
$length = strlen($text);
$length = ceil($length/$spalten);
$words = explode(" ",$text);
$c = count($words);
$l = 0;
for($i=1;$i<=$spalten;$i++) {
$new_string = "";
echo "<td style=\"text-align:left\" valign=\"top\">";
for($g=$l;$g<=$c;$g++) {
if(strlen($new_string) <= $length || $i == $spalten)
$new_string.=$words[$g]." ";
else {
$l = $g;
break;
}
}
echo $new_string;
echo "</td>";
}
?></tr></table>
</div>
border- und width-Attribut brauchst Du nicht, die dienen nur der Veranschaulichung.
@Elric
die schließenden td-tag werden schon im Original ausgegeben
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben