tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
704
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sheeba1507 sheeba1507 ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Oldenburg (Niedersachsen)
    Beiträge
    119
    Hi,

    für eine News-Box benötige ich eine Möglichkeit, den Text auf eine
    vorgegebene Anzahl an Zeilen zu begrenzen.
    Dabei soll das letzte Wort aber vollständig bleiben.
    Ein Link soll dann zur kompletten Text-Ausgabe führen.

    Mit substr() werden ja lediglich die Zeichen gezählt und das letzte Wort
    könnte ohne weitere Funktionen ebenfalls abgebrochen werden.
    Außerdem ist der Platzbedarf der einzelnen Buchstaben unterschiedlich.

    Sowohl hier als auch in anderen Foren habe ich dazu nichts finden können.
    Gibt es überhaupt eine Möglichkeit, die Zeilen einer Ausgabe abzufragen
    und die letzte verfügbare Zeile mit der Zeichenfolge ... abzuschließen ?

    Gruß, Mike
     
    ---------------------------------------------------------------------------------
    Mike's EEP-Welt
    Windows XP 2003, Internet Explorer 6.0, Firefox 2.0

  2. #2
    Avatar von Dörti.Hermi
    Dörti.Hermi Dörti.Hermi ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Ort
    Österreich
    Beiträge
    201
    Hallo,

    ich hab schon mal eine Lösung gesehen, wo einfach eine gewisse Anzahl von Zeichen (die kannst du ja bei bekannter Zeilenbreite und -anzahl ermitteln) ausgegeben werden darf. Somit ist der Text schon mal begrenzt. Dann suchst du das letzte vorkommende Leerzeichen, wobei an dieser Stelle dann das Stringende gesetzt wird --> vollständiges Wort am Ende...

    Google mal nach "php textvorschau" oder so...
    Hier ein Beispiel

    Lg Andi
     

  3. #3
    Avatar von katosan
    katosan katosan ist offline Mitglied Silber
    Registriert seit
    Aug 2007
    Beiträge
    95
    PHP-Code:
    $s "Dies ist eine String Mit Leertzeichen"
    echo substr($s,0,strpos($s.' ',' ',6)) 
    würde z.B. nach dem ist anhalten

    gruß

    katosan
    Geändert von katosan (27.05.10 um 00:54 Uhr)
     
    Give a man some Code and you shut him up for a day. Teach a man to code and you silence him for a lifetime.

    www.katoware.de

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    so, wie ich dich verstehe, meinst du mit Zeilen die sichtbaren Zeilen im Anzeigebereich des Browserfensters, und nicht die tatsächlichen Zeilen in der Zeichenkette(definiert durch die entsprechenden Steuerzeichen).

    Sollte ich dich recht verstanden haben, hast du da per PHP eigentlich keine Möglichkeit, das sich der verfügbare Platz und der benötigte Platz inkl. der daraus resultierenden Umbrechung des Textes erst im Browserfenster ergeben.

    Du müsstest da mit Beispielwerten herumexperimentieren, was jedoch auch nicht unproblematisch sein wird, da ein entscheidender Faktor bei der entstehenden Zeilenanzahl die Verteilung der Länge der einzelnen Worte sein wird.
     

  5. #5
    sheeba1507 sheeba1507 ist offline Mitglied Gold
    Registriert seit
    Jun 2007
    Ort
    Oldenburg (Niedersachsen)
    Beiträge
    119
    Hi zusammen,

    mittlerweile habe ich mich von der Wunsch-Vorstellung, die Anzahl der Zeilen als
    Vorgabe zu nehmen, entgültig wieder verabschiedet.

    Da die News-Box eh nicht sehr lang werden soll, kann man einen gewissen
    Unterschied in der Anzeige wohl noch verkraften.
    Deshalb habe ich das Problem nun wie folgt gelöst :
    PHP-Code:
    if (strlen($output) > 200) { echo substr($output,0,strpos(($output),' ',200)).$link; }
    else { echo 
    $output; } 
    Dadurch werden alle Texte mit mehr als 200 Zeichen nach dem letzten Leerzeichen
    innerhalb dieser Begrenzung abgeschnitten und der Link zur Volltext-Ausgabe angezeigt.
    Kürzere Texte werden komplett und ohne Link ausgegeben.

    Thx nochmal an alle für eure Lösungs-Ansätze.
    Das Thema hat sich damit erledigt.

    Gruß, Mike
    Geändert von sheeba1507 (27.05.10 um 14:00 Uhr)
     
    ---------------------------------------------------------------------------------
    Mike's EEP-Welt
    Windows XP 2003, Internet Explorer 6.0, Firefox 2.0

Ähnliche Themen

  1. [vb.net] text datei nach ende der zeile aufteilen nach 1000 zeilen
    Von Triple-Axe im Forum .NET Datenverwaltung
    Antworten: 9
    Letzter Beitrag: 19.10.10, 14:10
  2. zeilen in Text datei ändern
    Von slaveZero im Forum C/C++
    Antworten: 24
    Letzter Beitrag: 08.01.09, 21:33
  3. Zeilen-Begrenzung
    Von abcxyzaaa im Forum PHP
    Antworten: 3
    Letzter Beitrag: 31.10.05, 17:50
  4. php und text datei Zeilen
    Von AndyStyleZ im Forum PHP
    Antworten: 3
    Letzter Beitrag: 08.06.05, 15:52
  5. nur einige Zeilen Text von vielen anzeigen (V5)
    Von mirscho im Forum Flash Plattform
    Antworten: 9
    Letzter Beitrag: 09.10.02, 08:40