Ankündigung

Einklappen
Keine Ankündigung bisher.

Text nach Hälfte splitten

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Text nach Hälfte splitten

    Hallo Leute,
    ich möchte gerne eine Seite mit Zweispaltenlayout erstellen, also so, dass ein Text, wie in Word, in zwei Spalten aufgeteilt wird.
    Falls niemand eine bessere Idee hat, würde ich das mit div-containern oder einer Tabelle machen. Daher meine Frage:

    Wenn jemand über ein CMS den Text eingibt, wie kann ich es machen, dass
    PHP den Text automatisch nach ca. der Hälfte splittet, und wie lauten die Variablen für TEIL 1 und TEIL 2 vom Text?

    ich hoffe, dass ihr nachvollziehen könnt, was ich meine ^^'

    Liebe Grüße
    Heizkessel

  • #2
    Du könntest mit str_len, die Anzahl der Zeichen die dein Text hat ausgeben und danach den Text in Zeichen splitten. Dann mit einer Schleife die erste Hälfte ausgeben und danach die 2.

    Kommentar


    • #3
      An sich ne ganz gute Idee, aber geht das auch mit Wörtern anstatt mit Zeichen? Weil bei der Methode kann man ja nicht wissen, ob der Text jetzt zwischen zwei Wörtern oder mitten in einem Wort gesplittet wird...

      Kommentar


      • #4
        Du splittest nach jedem Leerzeichen und dann zählst du wievel elemente der array hat.

        Kommentar


        • #5
          Ich würde strlen() einsetzen.

          $anzahl = strlen($der_gesamttext);
          $haelfte = $anzahl/2;
          $beideteile_array =str_split ( $anzahl [$haelfte ] );

          echo $beideteile[0];
          echo $beideteile[1];

          So in der Art würde ich das machen. Aber keine Gewähr


          PHP: str_split - Manual

          Kommentar


          • #6
            @bottle: 1. hat Heizkessel ja bereits geschrieben, dass er nicht will, dass der Text mitten in einem Wort getrennt wird, was bei deiner Methode ziemlich sicher der Fall sein wird und 2. wird dein Code nicht funktionieren funktionieren, weil das Aufrufen der str_split() Funktion komplett falsch ist (was sollen diese eckigen Klammern dort??? Wenn du die gemacht hast, weil die auf php.net auch so sind, dann hast du was falsch verstanden. Diese Syntax auf php.net bedeutet, dass dieser Parameter freiwillig ist und nicht angegeben werden muss. Zudem muss man der Funktion den String übergeben und nicht die Länge des Strings. Desweiteren speicherst du die Teil-Strings (wenn der Aufruf korrekt wäre) in $beideteile_array, rufst nachher aber $beideteile auf um es auszugeben. Das wird auch nicht funktionieren....

            @Heizkessel: Schau dir mal folgende Funktion an: PHP: str_word_count - Manual
            Damit kannst du auslesen, wieviele Wörter in einem String sind. Du machst also folgendes:
            PHP-Code:
            $count str_word_count($string);
            $split explode(' ',$string);
            $part1 array_slice($split,0,ceil($count/2));
            $part2 array_slice($split,ceil($count/2));
            $string1 implode(' ',$part1);
            $string2 implode(' ',$part2); 
            Hab das jetzt nicht getestet, aber sollte eigentlich funktionieren.

            Kommentar


            • #7
              Danke an euch! Der Tipp von Montellesse klappt wunderbar!

              Liebe Grüße
              Heizkessel

              Kommentar

              Lädt...
              X