php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.06.2005, 09:23  
Gast
 
Beiträge: n/a
Standard String: die ersten 20 Zeichen, aber nur vollständige Wörter

Hallo Leute,

ich möchte von einem Textstring in dem ein Artikel steht, max die ersten 20 Zeichen auf den Bildschirm bringen. Dabei soll aber nicht mitten in einem Wort die Ausgabe unterbrochen werden.

Beispiel:

PHP-Code:
<?php
$string
="Die Blume ist ein schönes Gewächs."
// Anmerkung: Der 20. Buchstabe wäre das "c" in "schönes".
?>
Ich hätte gerne als Ergebnis:
$string_neu="Die Blume ist ein"

Das Wort "schönes" soll nicht mehr berücksichtigt werden, damit nicht halbe Wörter mit in $string_neu kommen.

Ich hoffe, ich habe das verständlich dargestellt.

Gibt es einen smarten Weg dies zu lösen?

Viele Grüße,
Stefan
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.06.2005, 09:29  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 193
akratellio
Standard

hallo caliph,

versuchsmal mit 'str_word_count()'.

mfg

akratellio
__________________
"Ich lüge immer..."
http://www.akratellio.de/dai
akratellio ist offline  
Alt 21.06.2005, 09:47  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

naja auf anheib -> feststellen ob zwischen zeichen 0 und und 19 eine leerstelle ist und dann mit substr abschneiden an der stelle, musst dir halt überlegen wie es ist, wenn keine leerstelle vorkomm oder so.
robo47 ist offline  
Alt 21.06.2005, 10:40  
Erfahrener Benutzer
 
Registriert seit: 17.01.2005
Beiträge: 227
Mirod
Standard

PHP-Code:
<?php
$string
="Die Blume ist ein schönes Gewächs.";
$leerzeichenposition 0;

// for-Schleife um herauszufinden, welches das letzte Leerzeichen ist.
for($i 0$i <20$i++) {
  if(
$string[$i] == " ")
    
$leerzeichenposition $i;
}

// neuer String
$string_neu substr($string0$leerzeichenposition);

echo 
$string_neu;
?>
Vielleicht hat jemand nen effizienteren Vorschlag
Mirod ist offline  
Alt 21.06.2005, 11:36  
Gast
 
Beiträge: n/a
Standard

Zwar auch nicht effektiver, aber für längere Texte:
http://www.cix88.de/cix_php/php_text...egrenzen_3.php

... nur ein Vorschlag ...
 
Alt 21.06.2005, 11:55  
Gast
 
Beiträge: n/a
Standard Danke für Tipps!

Besten Dank für die Tipps! Damit habe ich eine Lösung bauen können.

Schade, dass man nicht um die Schleifen-Programmierung herumkommt.
Wundert mich eigentlich, dass es noch keinen dezidierten Befehl in PHP dafür gibt.

Gruß,
Stefan
 
Alt 21.06.2005, 12:00  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

PHP bringt diese Funktion doch schon mit

http://www.php.net/manual/de/function.wordwrap.php

Zitat:
Steht cut auf 1, wird der String immer an der vorgegebenen Länge umgebrochen. Ist ein Wort also länger als die gegebene Länge, wird der Zeilumbruch auch innerhalb des Wortes eingefügt (siehe zweites Beispiel).
und anschliesend trennst du alles ab den ersten "/n" ab.
HStev ist offline  
Alt 21.06.2005, 12:37  
Gast
 
Beiträge: n/a
Standard

so habs damit mal anders und ohne Schleifen aufgezogen:



PHP-Code:
<?php
$text
"Die Blume ist ein schönes Gewächs.";
$position=20;
$text_neuwordwrap $text $position,"#");
$text_neu substr($text_neu ,0,strpos($text_neu,"#"));
?>
Anstelle von "#" kann man jedes zeichen nehmen, von dem man sicher ist, dass es nicht zufällig in dem Text auftaucht. es dient nur der Markierung.

Was haltet Ihr davon?
 
Alt 21.06.2005, 12:38  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

Code:
^(.{0,20})\s
+ preg_match/preg_replace
__________________
derHund ist offline  
Alt 21.06.2005, 13:23  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von derHund
Code:
^(.{0,20})\s
+ preg_match/preg_replace
der Pattern kürzt doch mitten im Word das war doch nicht gewünscht
HStev ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
String zwischen 1. und 2. Zeichen teilen BartTheDevil89 PHP Tipps 2008 5 29.05.2008 19:01
String nach n Zeichen trennen, ABER Wörter nicht ... yoshy PHP-Fortgeschrittene 6 30.09.2006 19:35
String nach einem Zeichen absuchen... PHP Tipps 2006 2 22.03.2006 15:49
Zeichen aus einem String kopieren PHP Tipps 2006 6 22.01.2006 15:54
Zeichen aus einem String PHP Tipps 2005-2 3 06.10.2005 23:07
2 Zeichen aus einem string löschen socke PHP Tipps 2005-2 3 28.09.2005 05:31
String: Nach allen 40 zeichen ein <br> einfügen socke PHP Tipps 2005-2 8 18.08.2005 17:06
Text zwischen 2 Zeichen in einen Text zu string machen Blank PHP Tipps 2005-2 8 30.07.2005 00:38
[Erledigt] String nach best. Zeichen durchsuchen PHP-Fortgeschrittene 10 19.07.2005 19:21
ASCII - Zeichen in String einbinden faux PHP Tipps 2005 10 28.05.2005 18:29
php string letztes zeichen herausfinden 4x4styling PHP Tipps 2005 2 02.03.2005 15:18
nicht erlaubte Zeichen im SQL - String Datenbanken 0 16.10.2004 11:47
String darf nur bestimmte Zeichen enthalten PHP Tipps 2004 5 05.09.2004 23:05
Zeilenumbruch nach 82 Zeichen bei einem String PHP Tipps 2004 3 05.07.2004 11:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php string die ersten 20 zeichen, php von einem text nur die ersten worte herausbekommen, http://www.php.de/php-tipps-2005-2/25168-string-die-ersten-20-zeichen-aber-nur-vollstaendige-woerter.html, php die ersten n wörter, php string die ersten wörter, ersten 20 zeichen, php ersten 10 wörter, wörter mit 20 buchstaben, wort mit 20 buchstaben, php nur die ersten 20 wörter, php nur die ersten 10 wörter, die ersten 20 wörter eines textes php, javascript string nur die ersten 10, php nur erste 10 wörter, php die ersten 20 zeichen, substring anzahl wörterphp, php string ersten 20 zeichen, java string \erste 10 worte\, php string nax wörten abschneiden, php die ersten 20 zeichen anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.