tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1267
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von bensky
    bensky bensky ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    (nrw)
    Beiträge
    191
    Hi freunde,

    Hat mal einer von euch versucht einen Text mit z.B. ca 500 Wörtern auszulesen, aber nur z.B. 100 Auszugeben mit dem vermerk. z.B. weiterlesen zu versehen`?

    Vielleicht hat ja einer von euch ne Idee

    Schon mal danke im voraus.
     

  2. #2
    sreinhardt sreinhardt ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    33
    Hallo bensky,

    so ganz spontan fällt mir da folgendes ein:

    PHP-Code:
       $text="TEXT TEXT TEXT";
       
    $array_text=explode(" ",$text);
       
       for(
    $x=0;$x<100;$x++)
       {
       echo 
    $array_text[$x]." ";
       }
       
       echo 
    " <a href='#'>mehr</a>"
    Trenne einfach den Text an jedem Leerzeichen und schreibe alle Worte in ein Array. Dann gibst du nur die Array-Elemente 0 bis 99 aus. Ist vielleicht etwas umständlich, funktioniert aber.
     

  3. #3
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Dazu brauchst du nicht einmal unbedingt PHP. Das kannst du sofort über die MySQL Abfrage lösen und via SUBSTRING_INDEX, wie folgt.

    PHP-Code:
    SELECT SUBSTRING_INDEX(`text`,' ',100) as `textFROM `tabelleWHERE ... 
    Die Erläuterung von SUBSTRING_INDEX aus der MySQL-Dokumentation schaut folgendermaßen aus und beschreibt genau, was du willst. Es wird der Teilstring zurückgegeben, bis zum der in "delim" angegebene Wert, in unserem Fall ein Leerzeichen, zum "countesten" mal, bei uns 100, aufgetaucht ist.

    SUBSTRING_INDEX(str,delim,count)

    Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned.

    mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
    -> 'www.mysql'
    mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
    -> 'mysql.com'
    Ähnliches wäre wohl auch über die Kombination verschiedener PHP Stringfunktionen wie substr() und strpos() zu lösen, aber warum kompliziert, wenns auch einfach geht?
     

  4. #4
    Avatar von bensky
    bensky bensky ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    (nrw)
    Beiträge
    191
    Euch beiden erstmal vielen dank, ich versuch mal die vorschläge einzubauen.

    Gibt es denn so global in php keine funktion die die werte in einem array auszählen kann und sie dann quasi "beschneidet"? Gruß
     

  5. #5
    Registriert seit
    Dec 2001
    Beiträge
    4.791
    Kennst du array_slice() und count() nicht? In solchen Fällen "Gibt es nicht ...?" ist es eigentlich immer das beste in der PHP Dokumentation in die entsprechende Sparte (String-Funktionen, Array-Funktionen, ...) zu gehen und einfach mal zu gucken, was es da so alles gibt.
     

  6. #6
    Avatar von bensky
    bensky bensky ist offline Mitglied Gold
    Registriert seit
    Mar 2004
    Ort
    (nrw)
    Beiträge
    191
    doch count kenne ich nutze das auch öfter aber das andere war mir nicht bekannt. vielen dank
     

Ähnliche Themen

  1. Bestimmte Anzahl v. Buchstaben auslesen
    Von lll192837465lll im Forum PHP
    Antworten: 4
    Letzter Beitrag: 26.01.10, 15:29
  2. SimpleXML: id rückwärts ausgeben, bestimmte Anzahl
    Von PersonalDemon im Forum XML Technologien
    Antworten: 3
    Letzter Beitrag: 01.10.07, 16:01
  3. Antworten: 7
    Letzter Beitrag: 29.09.05, 10:24
  4. Antworten: 6
    Letzter Beitrag: 27.07.03, 20:37
  5. Antworten: 1
    Letzter Beitrag: 01.03.02, 16:24