Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] String erst nach einem Leerzeichen kürzen...

Einklappen

Neue Werbung 2019

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

  • [Erledigt] String erst nach einem Leerzeichen kürzen...

    Hallo zusammen!

    Ich suche nach einer Möglichkeit einen String nach einer bestimmten Anzahl von Zeichen zu kürzen. Allerdings sollten dabei keine Wörter mittendrin abgeschnitten werden sondern die Kürzung sollte erst nach dem kompletten Wort erfolgen.

    Bisher habe ich das so gelöst:

    PHP-Code:
    $row['file_title'] = substr($row['file_title'], 040) . '...'
    Aber hier wird eben auf den Erhalt von kompletten Wörtern nicht Rücksicht genommen. Wie könnte man das ganze lösen? Ich hatte die Idee das ganze über eine Funktion zu machen, mangels Kenntnisse hat das aber nicht geklappt.

  • #2
    Das kannst du zum Beispiel hier nachlesen: http://hallophp.de/codeschnipsel/20-...rt-abschneiden
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      Vielen Dank für den Hinweis!
      Leider schaffe ich es nicht mit
      PHP-Code:
      substr_word ($row['file_title'],10); 
      die Funktion aufzurufen. Der String wird einfach nicht gekürzt. Was mache ich da falsch?

      Kommentar


      • #4
        inwiefern schaffst dus nicht?

        Kommentar


        • #5
          Debugging.

          Was steht in
          Code:
          $row['file_title']
          ?

          http://php.net/manual/en/function.error-reporting.php
          [URL]http://hallophp.de[/URL]

          Kommentar


          • #6
            Die
            PHP-Code:
            $row['file_title'
            ist mit div. String-Inhalt gefüllt. das ganze geht ja durch eine Schleife. Letztlich sollen die 10 am häufigsten abgerufenen Dateien angezeigt werden.

            Die $row['file_title'] wird auch ausgegeben, aber eben ungekürzt. Hier mal der ganze Abschnitt:

            PHP-Code:
            function substr_word($string$length) {
              if (
            strlen($string) > $length) {
                
            $string substr($string0$length);

                
            // cut the string after the last space and add dots
                
            $string substr($string0strrpos($string' ')) . '...';
              }

              return 
            $string;
            }



            // Anzahl Dateien
            $anzahl_dateien 10;
            $x_counter 1;

            $res $db->sql_query('SELECT * FROM ' FILES_TABLE ' ORDER BY `file_dl_count` DESC LIMIT ' $anzahl_dateien);

              while ( 
            $row $db->sql_fetchrow($res) )
              {
                
            // Eine Null vor Counter hängen, falls Counter einstellig
                
            if( (strlen($x_counter))< )
                {
                 
            $x_counter $x_counter;
                }

                
            //$row['file_title'] = substr($row['file_title'], 0, 40) . '...';
                
            substr_word ($row['file_title'],10);

                
            $stat .= $x_counter '.<img src="images/pfeil.gif" width="19" height="7" /><a href="view.php?t=' $row['file_topic'] . '">' $row['file_title'] . '</a> (' $row['file_dl_count'] . ')<br />';
                
            $x_counter++;
              } 

            Kommentar


            • #7
              Code:
              echo substr_word ($row['file_title'],10);
              [URL]http://hallophp.de[/URL]

              Kommentar


              • #8
                Zitat von Asipak Beitrag anzeigen
                Code:
                echo substr_word ($row['file_title'],10);
                Oh man. Manchmal haben wir Anfänger wohl wirklich Tomaten auf den Augen.
                Danke für die Hilfe!

                Kommentar

                Lädt...
                X