[Funktion] String nach 50 Zeichen beim nächsten Leerzeichen trennen.

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

  • [Funktion] String nach 50 Zeichen beim nächsten Leerzeichen trennen.

    Folgendes Problem:

    Ich habe z.B. einen String, der folgenderweise lautet:

    "Dies ist ein Beitrag \n in einem Forum der mir bei der Lösung meines Problems vielleicht behilflich sein kann. Ich hoffe \n jemand meldet sich sobald wie möglich."

    Ich möchte diesem String jetzt ein paar Trennzeichen hinzufügen, und zwar immer dann, wenn:

    - nach 50 Zeichen noch kein Trennzeichen \n zum vorschein kam und zwar genau bei dem am nächsten liegenden Leerzeichen.

    d.h. am Beispiel wäre das dann bei: "...Problems *hier das Trennzeichen* vielleicht..."

    Ich hoffe ihr könnt mir helfen, meiner meinung nach sieht das nämlich nach einem schönen haufen arbeit für einen relativ simplen wunsch aus.

    P.S.: Kann man vielleicht eine HTML-Textarea so einstellen, dass diese automatisch nach 50 Zeichen oder so ein Trennzeichen einfügt, falls davor noch keines manuell eingefügt wurde?

    P.P.S.: Dieses Forum z.B. macht ja genau die selbe Funktion um zu verhindern dass ein in einer Tabelle eingefügter String die Maße der Tabelle sprengt...

  • #2
    wo ist das problem?

    - string "zeilenweise" in ein array packen.
    - dann das array durchlaufen und ggf. trenner einfügen.
    - wieder umwandeln.

    fertig!

    Kommentar


    • #3
      könntest du mir verraten welche string-funktion ich am besten hernehme um den string zeichen für zeichen zu durchlaufen und den einzelnen charakter (nicht als ascii-wert) zurückbekomme?

      Kommentar


      • #4
        warum machst du das nicht einfach mit wordwrap() ?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          weil ich den string nicht nach soundsovielen zeichen trennen will, sondern bei dem leerzeichen das am nächsten nach sounsoviel zeichen ist...

          Kommentar


          • #6
            tust du mal bitte suchen!

            Kommentar


            • #7
              Original geschrieben von lacrimae
              weil ich den string nicht nach soundsovielen zeichen trennen will, sondern bei dem leerzeichen das am nächsten nach sounsoviel zeichen ist...
              ach was.... dann lies dir mal die beschreibung bei wordwrap() VORHER durch, bevor du hier postest.
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                sorry, du hast recht...

                ich hab sie mir auch vorher durchgelesen, nur steht da:

                "Bricht den String str an der mittels width angegebenen Position in die nächste Zeile um. Der Umbruch geschieht mit dem break Parameter."

                hier steht nur dass ein string umgebrochen wird, nicht das dies bei einem leerzeichen geschieht...

                das beispiel dazu wäre dann:

                PHP-Code:
                $text "Der schnelle braune Fuchs springt über den blöden Hund."$neuertext wordwrap$text20 ); 
                wobei an stelle 20 zufällig ein leerzeichen zu finden ist...

                In diesem Fall ist die Beschreibung von wordwrap() wohl eher misslungen.

                Entschuldige nochmal die Störung & danke für die Hilfe.

                Kommentar


                • #9
                  ansichtssache.

                  Steht cut auf 1, wird der String immer an der vorgegebenen Länge umgebrochen. Ist ein Wort also länger als die gegebene Länge, wird der Zeilumbruch auch innerhalb des Wortes eingefügt
                  Die such hier im Forum hätte dir sicher auch weiter geholfen, wie es meist der Fall ist.

                  Aber BTW: Es ist meist besser die englische Version zu nutzen.
                  Zuletzt geändert von TobiaZ; 15.03.2004, 18:07.

                  Kommentar


                  • #10
                    ich hätte da eine idee...
                    benutze doch einfach
                    PHP-Code:
                    explode() + count() 
                    um deinen string in alle einzelteile zu zerlegen und zu zählen. danach
                    benutzt du einige if-abfragen, deren aufbau mir noch ganz klar ist um
                    dann im entscheidenden moment einen zeilenumbruch zu machen.


                    sorry...kleíner gag

                    Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

                    Kommentar

                    Lädt...
                    X