Idee gesucht: Zeichenkette bis zum 10. Leerzeichen ausgeben.

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

  • Idee gesucht: Zeichenkette bis zum 10. Leerzeichen ausgeben.

    Hallo, @ all !

    Ich bin auf der Suche nach einer passenden Funktion oder einer guten Idee um eine Zeichenkette z.B. nur bis zum 10. Leerzeichen auszugeben.

    Also, ich habe einen ganzen Satz in einer Variablen, und möchte nicht mit substr() arbeiten, da dann ja evtl. Wörter zerschnitten werden. Wie kann ich es erreichen, dass erst nach dem x-ten Leerzeichen abgeschnitten wird? Gibt es hierfür vielleicht schon was passendes?

    Hab schon vergeblich gesucht, nix tolles gefunden...
    Gruss,

    Volker

  • #2
    mal rumstöbern auf meine HD ... .... ok, gefunden:
    PHP-Code:
    <?php
    //Funktion, um zu lange Wörter zu trennen, z.B. als Spam schutz.
    //Aufzutufen mit: textwrap($text, $anzahlzeichen)

    function textwrap($text,$c)
    {
      
    $splitted=explode("\n",$text);
      
    $anzahl=count($splitted);
      for(
    $i=0;$i<=$anzahl;$i++)
      {
        
    $zeile=$splitted[$i];
        
    $wordsline="";
        if(
    strlen($zeile)>=$c)
        {
          
    $splitline=explode(" ",$zeile);
          
    $anzline=count($splitline);
          for(
    $j=0;$j<=$anzline;$j++)
          {
            if(!
    preg_match("(http|www)",$splitline[$j]))$wordsline.=wordwrap($splitline[$j],$c," ",1)." ";
            else 
    $wordsline.=$splitline[$j]." ";
          }
          
    $zeile=$wordsline;
        }
        
    $ergebnis.=$zeile."\n";
     }
     return(
    $ergebnis);
    }
    ?>
    EDIT:
    naja, mal wieder net richtig gelesen, ich sollt pennen gehen ...
    Zuletzt geändert von davidovich; 24.07.2004, 00:58.

    Forumregeln!

    Gute PHP-(tutorial-)Seiten

    Kommentar


    • #3
      Code:
       /([^ ]+ ){10,}/isU
      http://www.php-resource.de/tutorials/read/10/1/
      zb.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        ich bastle mir gerade sowas ähnliches für mein blog.

        ich will die beiträge auf ca. 500 kürzen, aber natürlich auch nicht mitten im wort abschneiden.

        zusätzlich will ich die 500 zeichen noch auf die wirkliche ausgabelänge des textes bezogen wissen, also z.b. bb-code wie [ url=...]linktext[/url], wo ja effektiv bei der anzeige nur die länge von "linktext" zählt, auch mit einberechnen.


        dafür sind die ctype-funktionen recht praktisch, mit denen man sehr gut ermitteln kann, ob ein zeichen wirklich eine "druckbare" oder grafische ausgabe erzeugt, oder nur ein steuerzeichen ist o.ä.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          wenn der text aus einer datenbank kommt und du nicht wie wahsaga
          bbcode berücksichtigen willst, könnte SUBSTRING_INDEX (mysql-manual)
          dein freund werden.
          Kissolino.com

          Kommentar

          Lädt...
          X