Hallo,
ich habe mich mit PHP und Mysql beschäftigt und gleichzeitig eine Frage.
Ich habe eine Webseite, deren layout unbedingt darauf ausgelegt ist, dass sie nicht durch Scrollen zerhauen wird. somit brauche ich eine Möglichkeit, um langen Text auf mehrere Seiten aufzusplitten mittels einem {weiter} oder |1|2|3... Button. Der Text kommt aus einer MySQL Tabelle. Ich hatte mir das jetzt "trocken" mal so gedacht, dass ich den Text nach Sätzen auftrenne mit der Funktion explode. Ich will nicht, dass ich nach substr() oder so etwas aufteile, da ich sonst Gefahr laufe, und mitten im Wort unterbreche.
Also zu meiner idee:
ich habe den Text in der Variable $text vorhanden.
$text_exploded = explode(".",$text); //Die Sätze werden aufgetrennt
$text_counted = count ($text_exploded); // Zählen der Sätze
for($a=0;$a {
Hilfe und hier weiss ich nciht weitery
}
Wer kann mir jetzt einen Tipp geben wie ich weiterkomme ich hänge
Homepage selbermachen 7.851 Themen, 35.616 Beiträge
Ich habe eine Webseite, deren layout unbedingt darauf ausgelegt ist, dass sie nicht durch Scrollen zerhauen wird.
Das ist schonmal ungünstig...
Ich hatte mir das jetzt "trocken" mal so gedacht, dass ich den Text nach Sätzen auftrenne mit der Funktion explode
Problem 1: Nicht alle Sätze mit enden mit einem "."
Problem 2: Ein Punkt stellt nicht zwangsläufig das Satzende dar (z.B. in Aufzählungen, Versionsnummern "1.2.3" oder auch in "z.B.")
Unabhängig davon tritt auch noch Problem 3 auf:
Wenn der Text automatisch "zerpflückt" wird nimmt die Übersichtlichkeit ab - die Seitenumbrüche werden dabei zwangsweise auch Thematisch zusammenhängende Sätze oder Stichpunkte auseinanderreißen. Falls die Inhalte HTML-Formatiert sind fehlen mit an Sicherheit grenzender Wahrscheinlichkeit anschließend schließende Tags...
Optimalerweise solltest Du die Texte also selbt trennen - z.B. mit
<br class="newpage"> (bei zusammenhängerder Darstellung als Zeilenumbruch, könnte man auch mit <hr> machen, newpage dient hier einfach nur zur Unterscheidung anderer evtl. vorhandener Zeilenumbrüche - bei zusammenhängender Darstellung lässt sich das auch zu Formatierungszwecken nutzen) oder
<!pagebrake> (würde als Kommentar einfach nur ignoriert)
Eben das was Dir am besten gefällt...
Große Vorteile dieser Methode:
Einziger Nachteil:
- minimal größerer Aufwand bei der Eingabe
CU Borlander
Das ist schonmal ungünstig...
Ich hatte mir das jetzt "trocken" mal so gedacht, dass ich den Text nach Sätzen auftrenne mit der Funktion explode
Problem 1: Nicht alle Sätze mit enden mit einem "."
Problem 2: Ein Punkt stellt nicht zwangsläufig das Satzende dar (z.B. in Aufzählungen, Versionsnummern "1.2.3" oder auch in "z.B.")
Unabhängig davon tritt auch noch Problem 3 auf:
Wenn der Text automatisch "zerpflückt" wird nimmt die Übersichtlichkeit ab - die Seitenumbrüche werden dabei zwangsweise auch Thematisch zusammenhängende Sätze oder Stichpunkte auseinanderreißen. Falls die Inhalte HTML-Formatiert sind fehlen mit an Sicherheit grenzender Wahrscheinlichkeit anschließend schließende Tags...
Optimalerweise solltest Du die Texte also selbt trennen - z.B. mit
<br class="newpage"> (bei zusammenhängerder Darstellung als Zeilenumbruch, könnte man auch mit <hr> machen, newpage dient hier einfach nur zur Unterscheidung anderer evtl. vorhandener Zeilenumbrüche - bei zusammenhängender Darstellung lässt sich das auch zu Formatierungszwecken nutzen) oder
<!pagebrake> (würde als Kommentar einfach nur ignoriert)
Eben das was Dir am besten gefällt...
Große Vorteile dieser Methode:
-
-
Sinnvolle Trennung
-
einfaches und zuverlässiges Teilen
$pages = explode($trenner, $text);
-
einfaches Ermitteln der Seitenanzahl zur Navigation
mit count die Arraygröße ermitteln
$page_count = count($pages);
// for($page_nav = 1; $page_nav -
einfache Ausgabe der Seiten
echo $pages[$page];
Einziger Nachteil:
- minimal größerer Aufwand bei der Eingabe
CU Borlander