Kai: string "sinnvol" kürzen

Hallo liebe Leute im Forum ich brauch mal wieder eure kompetente Hilfe, und zwar würde ich gerne einen Text String kürzen und zwar so das jetzt nicht Worte mittendurch geschnitten werde.
Einen String zu kürzen geht ja wohl mit substr aber wie schaffe ich es das jetzt nicht mitten in einem Wort abgeschnitten wird?
Wäre für eure Hilfe und Anregungen dankbar.
Das ganze soll den Zweck haben, um Kommentare nicht ganz sondern nur erstmal nur zum Teil darzustellen.
Lieben Gruß, Kai.

  1. Hi Kai,

    string "sinnvol" kürzen

    ^^^^^^^
    Dieser String war nicht sinvoll gekürzt.

    SCNR,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Bitte vielmals um Verzeihung das ich mich vertippt habe, trotzdem danke für deinen Hilfreichen Kommentar...

      Hi Kai,

      string "sinnvol" kürzen
                 ^^^^^^^
      Dieser String war nicht sinvoll gekürzt.

      SCNR,
      Gunnar

      1. Hi Kai,

        Bitte vielmals um Verzeihung das ich mich vertippt habe, trotzdem danke für deinen Hilfreichen Kommentar...

        Wenn ich vorhabe, einen hilfreichen Kommentar abzugeben, ändere ich nicht den Themenbereich auf MENSCHELEI und schreibe SCNR darunter.

        Gruß,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
        1. Ich danke allen für ihre freundlich Unterstützung...

    2. hi,

      string "sinnvol" kürzen
                 ^^^^^^^
      Dieser String war nicht sinvoll gekürzt.

      dieser auch nicht         ^^^^^^^

      zum problem:
      suche ab zeichen x das nächste leerzeichen/whitespace, beispielsweise mit strpos.
      wenn du dann diese position hast, kannst du den gesamtstring mit substr kürzen.

      tipp: schau dir die übersichtsseite zu den stringfunktionen mal an.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi,
    ich würd sagen strrpos(); könnte dir helfen bzw. strpos(); sowie str_replace(); mit einem limit 1 und strlen(); und eine While-Schleife

      
    $string = "Ganz viel text der garnicht alles ausgegeben werden soll";  
    $ausgabe_string = "";  
    while(strlen($ausgabe_string)<10)  
    {  
      $ausgabe_string = substr($string, 0, strpos($string, " "));  
      $ausgabe_string = str_replace("&nbsp;", " ", $ausgabe_string);  
      $string = str_replace(" ", "&nbsp;", $string, 1);  
    }  
    echo $ausgabe_string;  
    
    

    dies sollte eine ausgabe von "Ganz viel" ergeben.

    MfG

    1. Hi,
      habs getestet, mit diesem code funktionierts:

        
      $string = "Ganz viel text der garnicht alles ausgegeben werden soll";  
      $ausgabe_string = "";  
      while(strlen($ausgabe_string)<20)  
      {  
        $ausgabe_string = substr($string, 0, strpos($string, " "));  
        $ausgabe_string = str_replace("&nbsp;", " ", $ausgabe_string);  
        $string = substr_replace($string, "&nbsp;", strpos($string, " "), 1);  
      }  
      echo $ausgabe_string;  
      
      

      MfG

  3. Hi,

    Einen String zu kürzen geht ja wohl mit substr aber wie schaffe ich es das jetzt nicht mitten in einem Wort abgeschnitten wird?

    Mit explode() an den Leerzeichen in Wörter aufteilen, und anschließend die Längen der Array-Einträge zusammenzählen. Ist die gewünschte Gesamtlänge überschritten, aus den Einträgen wieder einen Satz herstellen.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!