php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.06.2005, 10:06  
Gast
 
Beiträge: n/a
Standard [Erledigt] abschneiden eines strings nach dem letzten leerzeichen

HI,

ich lese aus ner DB mittels diesem befehl
Code:
$sqlArtikel="SELECT id,datum,header_".$_SESSION['lang'].",LEFT(text_".$_SESSION['lang'].",300) FROM artikel LIMIT 3";
aus der spalte text 300 zeichen aus, dadurch kann es passieren das ein wort mitendrinnen abgschnitten ist, das will ich nicht...

wie kann ich jetzt in php sagen gehe an das ende vom string und schneide nach dem letzten leerzeichen alles weg, weil so habe ich dann immer ein ganzes wort zum schluss....

mfg,
destroy90210
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.06.2005, 10:11  
Gast
 
Beiträge: n/a
Standard

Such doch mit strripos nach dem letzten Leerzeichen und schneide da einfach ab, oder - in meinen Augen optisch schöner - füge da "..." ein
 
Alt 05.06.2005, 10:12  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
if (true==$more && strlen($more)>300)
{
    
$i=299;
    while (
substr($more$i1)!=chr(32))
    {
        
$i += 1;
    }

    
$ii=$i 1;

    if (
substr($more$ii1)==chr(47))
    {
        
$i += 3;
    }
    
$more=substr($more0$i);
    
$more.=' ....';

so in etwa könnt ich mir das vorstellen
 
Alt 05.06.2005, 10:49  
Gast
 
Beiträge: n/a
Standard

Zitat:
mit strripos
Sieht immer unschön aus, wenn mitten im Wort gekürtzt wird.
Nur ein Vorschlag:
http://www.cix88.de/cix_php/php_text...egrenzen_3.php
 
Alt 05.06.2005, 11:05  
Gast
 
Beiträge: n/a
Standard

Welchen gedanklichen Fehler habe ch denn da gemacht?

php.net sagt dazu

Zitat:
Find position of last occurrence of a case-insensitive string in a string
Und wenn ich das letzte Leerzeichen suche und da abschneide, wird doch nicht mitten im Wort gekürzt. Oder sehe ich da was falsch?
 
Alt 05.06.2005, 11:30  
Gast
 
Beiträge: n/a
Standard

teste diese MYSQL-Abfrage:
Code:
$sqlArtikel=
"
SELECT
   id,
   datum,
   header_".$_SESSION['lang'].",
   TRIM(TRAILING SUBSTRING_INDEX(LEFT(text_".$_SESSION['lang'].",300), ' ', -1) FROM LEFT(text_".$_SESSION['lang'].",300))
FROM
   artikel
LIMIT 3
";
Ich hoffe, daß ich mich dabei nicht verheddert habe.

mfG ~dilemma~
 
Alt 05.06.2005, 12:00  
CSS
Erfahrener Benutzer
 
Registriert seit: 04.12.2004
Beiträge: 324
CSS
Standard

Also, ich hab' jetzt mal auf die SChnelle (nicht getestet) diese Funktion geschrieben:
PHP-Code:
<?php
$news 
'Ich bin die Nachricht. Ich bin die Nachricht. Ich bin die Nachricht. Ich bin die Nachricht.';

function 
cut(&$string$num)
{
  if (
strlen($string) > $num)
  {
    
$string substr($string0$num);
    
$num strrpos($string' ');
    
$string substr($string,0,$num);
    
$string .= '...';
  }
  return 
$string// Egal ob zu lange oder nicht...
}
echo 
cut($news70);
?>
CSS ist offline  
Alt 31.03.2009, 13:45  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 519
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard

Habe noch eine Möglichkeit gefunden:

PHP-Code:
function cut(&$string$num)
{
  if (
strlen($string) > $num)
  {
    
$string substr($string0$num);
    
$num strrpos($string' ');
    
$string substr($string,0,$num);
    
$string .= '';
  }
  return 
$string
}
$name2 cut($name40);

$this->Cell(0,10$name2); 
fulltilt ist offline  
Alt 31.03.2009, 14:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Was hast Du da "gefunden"? Das hast Du aus dem 4 Jahre alten Posting darüber abgeschrieben?!
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 31.03.2009, 14:43  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 519
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Was hast Du da "gefunden"? Das hast Du aus dem 4 Jahre alten Posting darüber abgeschrieben?!
stimmt - wollte ich auch hier eigentlich nicht angeben, hatte aber aus versehen die Antwort auf den alten Thread gepostet
Hatte 2 Fenster offen ... sorry kann man das verschieben nach:
http://www.php.de/php-einsteiger/535...zu-substr.html
fulltilt 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
Feldname mit Leerzeichen lässt sich nicht verarbeiten TheFlu Datenbanken 8 16.10.2007 23:01
wordwrap und Leerzeichen Zangelo PHP Tipps 2007 6 10.04.2007 21:36
fgets und leerzeichen notyyy PHP Tipps 2006 4 19.02.2006 23:00
leerzeichen moose PHP Tipps 2006 1 24.01.2006 18:54
String (Dateipfad) auf Länge und Leerzeichen überprüfen HTML, Usability und Barrierefreiheit 4 03.06.2005 12:34
Leerzeichen wird nicht angezeigt PHP Tipps 2005 7 11.03.2005 20:01
alle Positionen eines Strings innerhalb eines Strings finden PHP Tipps 2005 8 23.02.2005 20:21
buchstaben klein und leerzeichen umwandeln goelliboy PHP Tipps 2005 6 20.01.2005 20:43
HTACCESS - Leerzeichen im Pfad PHP Tipps 2005 5 09.01.2005 12:50
Von Strings etwas abschneiden Kofi PHP Tipps 2004-2 2 10.11.2004 20:15
verdammt,bracuhe sowas mit leerzeichen :D Skazi PHP Tipps 2004 1 20.10.2004 08:32
[Erledigt] Strings saeubern PHP Tipps 2004 2 12.10.2004 15:52
[Erledigt] Hilfe: Leerzeichen bei SQL-Eintrag über Formular Datenbanken 2 05.09.2004 22:17
Leerzeichen aus DB-Feld werden zu einem zusammengefaßt HTML, Usability und Barrierefreiheit 2 13.08.2004 13:54
Übergabe von Daten - Nach Leerzeichen wird String abgeschnit PHP Tipps 2004 4 21.07.2004 07:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql string abschneiden, http://www.php.de/php-tipps-2005-2/24204-erledigt-abschneiden-eines-strings-nach-dem-letzten-leerzeichen.html, php string bis zeichen abschneiden, mysql string abschneiden, php string kürzen leerzeichen, php string nach zeichen abschneiden, php string abschneiden, sql zeichenkette abschneiden, sql string kürzen, sql abschneiden, php string kürzen, sql zeichen abschneiden, sql text abschneiden, php string abschneiden leerzeichen, php leerzeichen abschneiden, leerzeichen abschneiden, php ab zeichen abschneiden, sql string nach zeichen abschneiden, php leerzeichen, php string nach 70 zeichen abschneiden

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 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.