Content in zwei Spalten aufteilen wie in Zeitung.

StefanR

Erfahrenes Mitglied
Hallo,

ich habe da mal wieder ein Frage und zwar (wie der Betreff schon erahnen lässt) möchte ich einen Text in dem Fall einen Artikel in zwei Spalten aufteilen, also das quasi auf der linken der Anfang des Artikels ist und der Rest denn auf der rechten Seite fortgesetzt wird. quasi wie in einer Zeitung oder auch auf http://www.krawall.de/artikel.php?s=&artikel_id=10699 zu sehen.

Könnt ihr dort mal ne Hilfestellung geben oder vielleicht ist das ja sogar schon im Forum besprochen worden (wurde nur leider nicht fündig)
 
Hallo,

man könnte erstmal die Länge des auszugebenen Strings durch 2 teilen, um eine grobe Richtmarke für Spalte 2 zu erhalten
PHP:
$richtmarke = round(strlen($text)/2);

Dann könnte man den Text ab dieser Richtmarke nach einem Vorkommen der Satzabschlüsse .!? untersuchen
PHP:
//Array initialisieren
$marks = array();
//erstes Vorkommen eines . ab der Richtmarke
array_push($marks, strpos($text,".",$richtmarke));
//erstes Vorkommen eines ! ab der Richtmarke
array_push($marks, strpos($text,"!",$richtmarke));
//erstes Vorkommen eines ? ab der Richtmarke
array_push($marks, strpos($text,"?",$richtmarke));

Nun stecken in dem Arry $marks die jeweils ersten Positionen der Satzendzeichen nach der Richtmarke. Dieses könnte man nun aufsteigend (ASC) sortieren und das erste Element des Array wäre somit auch der Umbruch der 2. Spalte
PHP:
//Array aufsteigend sortieren
asort($marks, SORT_NUMERIC);

//Das erste Element (0) ist nun das erste Vorkommen eines Satzabschlusses nach der
//theoretischen Hälfte.
$spalte1 = substr($text, 0, $marks[0]);
$spalte2 = substr($text, $marks[0]+1, strlen($text);

Hoffentlich konnte ich weiterhelfen - habe den Schnipsel nicht getestet ;)

Bloddy Newbie
 
Zurück