nur die ersten 30 zeichen anzeigen ...

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

  • nur die ersten 30 zeichen anzeigen ...

    hallo,
    wenn ich z.B. eine News habe die lautet:

    Testnews ist da und online und da und ist toll. Testnews ist da und online und da.

    Diese ist in der Variablen $news gespeichert. Nun würde ich gerne auf die Startseite die ersten 30 Zeichen dieser News anzeigen, die dann mit "..." endet. Mein erstes Problem ist; wie ließt man nur 30 Zeichen eines Strings aus. Bisher habe ich es nur geschafft die letzten 30 Zeichen auszulesen mit
    $news = addslashes(substr($news,-30)). '...';
    aber umgekehrt bekomme ich das nicht hin.
    Mein zweites Problem ist ja dann noch, dass z.B. diese News so angezeigt würde:
    Diese ist in der Varia ...

    Kann man auch z.B. abfragen dass er bei dem ersten Leerzeichen vor dem 30. Zeichen schon aufhört? Also, dass in diesem Fall nur:
    Diese ist in der ...
    ausgegeben wird.

    Irgendwie ist das alles ziemlich kompliziert
    Wäre aber trotzdem super nett wenn mir jemand weiterhelfen könnte

  • #2
    substr

    Hi,

    Hier der Code:
    <?
    $news = "asdkf ökshd sahdö hsöhf ölhöslai l ijöli jöslahöaslu höas hö hö uhö kuhö h ö";
    $news_rest = substr($news, 0, 29);
    echo substr($news_rest, 0, strrpos($news_rest, " "))."...";
    ?>

    Erklärung:
    Als erstes definiere ich die Variable $news, du kannst da auch was anderes reinschreiben :-)) . Dannach kürze ich die Variable auf 30 Zeichen ( substr($news, 0, 30); ). Danach finde ich die Position des letzten vorkommenden " " (Leerzeichen), und gebe den String vom Zeichen 0 bis zum letzten Leerzeichen aus.
    substr($name_der_variable, erstes_zeichen, bis_zeichen)

    erstes_zeichen: die startposition (zahl)
    bis_zeichen: die endposition (zahl)
    $name_der_variable: ein string

    strrpos($news_rest, " ")
    ermittelt die position des letzen vorkommenden Leerzeichens im der Variable $news_rest und gibt, wenn es dieses Zeichen gefunden hat die Position des Zeichens innerhalb der Variable zurück.

    MfG

    Florian Engelhardt

    [Editiert von ubik am 21-11-2001 um 10:16]
    "Open Sources. Open Minds. Open Future"

    Kommentar


    • #3
      vielen dank

      Kommentar


      • #4
        Hallo!
        Hat jemand von euch euch schonmal ein script geschrieben, welchess 30 Zeichen schreibt und dann solange weitermacht, bis das nächste wort zuende ist (blank)?
        MFG
        Klecks
        Easy Going!

        Kommentar


        • #5
          Schau einmal bei php.net unter wordwrap bei den User Contributed Notes

          http://www.php.net/manual/en/function.wordwrap.php

          Dort gibt es glaub ich auch so eine Lösung.

          Kommentar


          • #6
            Code:
            $news = "asdkf ökshd sahdö hsöhf ölhöslai l ijöli jöslahöaslu hö";
            echo ($p = strpos($news,' ',30)
              ? substr($news, 0, $p)
              : $news
            );
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Hatte er das nich schon geschrieben? Oder später nochmal editiert ¿

              Kommentar

              Lädt...
              X