php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 11-07-2007, 00:23
AndreasS
 Newbie
Links : Onlinestatus : AndreasS ist offline
Registriert seit: Mar 2004
Beiträge: 49
AndreasS ist zur Zeit noch ein unbeschriebenes Blatt
Standard String auf eine bestimmte Zeichenlänge kürzen

Hallo

Ich habe ein Frage zu meinem folgenden Script. Und zwar möchte ich einen String auf eine bestimmte Zeichenlänge kürzen. Mit
PHP-Code:
substr 
ist das ja kein Problem, nur wird dann meistens ein Wort einfach abgeschnitten.
Nun habe ich das so gelöst. Aber als PHP Neuling dünkt mich das ein wenig kompliziert.
Hier mein Script:
PHP-Code:
<?php $string wordwrap($row['text1'], 18"<br />\n");
      
$string str_replace("<br />",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
$string);
      
$string substr($string018);
      
$string str_replace("&nbsp;"," "$string);
      
$string str_replace("&nbsp"," "$string);
      
$string str_replace("&nbs"," "$string);
      
$string str_replace("&nb"," "$string);
      
$string str_replace("&n"," "$string);
      
$string str_replace("&"," "$string);
      echo 
$string?>
Kann man das auch einfacher lösen, oder ist das so in Ordnung?

Gruss Andreas
Mit Zitat antworten
  #2 (permalink)  
Alt 11-07-2007, 00:32
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: String auf eine bestimmte Zeichenlänge kürzen

Zitat:
Original geschrieben von AndreasS
nur wird dann meistens ein Wort einfach abgeschnitten.
Und? Ist doch egal oo,
Mit Zitat antworten
  #3 (permalink)  
Alt 11-07-2007, 00:37
LoronorZorro
 Registrierter Benutzer
Links : Onlinestatus : LoronorZorro ist offline
Registriert seit: Aug 2005
Ort: Aschaffenburg
Beiträge: 90
LoronorZorro ist zur Zeit noch ein unbeschriebenes Blatt
LoronorZorro eine Nachricht über ICQ schicken
Standard Re: Re: String auf eine bestimmte Zeichenlänge kürzen

Zitat:
Original geschrieben von ghostgambler
Und? Ist doch egal oo,
Ich denke was er versucht zu machen ist dass nach x Zeichen ein Zeilenunbruch gemacht wird für Textbereiche oder Ähnliches dass Seite nicht auseinander gezogen wird, aber dafür gibts natürlich bessere Lösungen (sauberes HTML, z.B. feste Breiten usw.).
Mit Zitat antworten
  #4 (permalink)  
Alt 11-07-2007, 01:02
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich versteh immer noch nicht so ganz was das soll - willst du vielleicht sowas?
PHP-Code:
implode ' 'array_slice explode ' ''Ein längerer Text ...' ), 018 ) ); 
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #5 (permalink)  
Alt 11-07-2007, 01:52
Benutzerbild von bUTschy bUTschy
 Registrierter Benutzer
Links : Onlinestatus : bUTschy ist offline
Registriert seit: Aug 2005
Ort: Hamburg
Beiträge: 152
bUTschy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Er möchte einen $string kürzen nach xx Zeichen, die Trennung darf aber nicht mitten in einem Wort sein.

@AndreasS, ist es das was du meinst ? dann guck mal hier
__________________
4cms.de
Mit Zitat antworten
  #6 (permalink)  
Alt 11-07-2007, 02:54
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://de.php.net/manual/en/function.wordwrap.php
Mit Zitat antworten
  #7 (permalink)  
Alt 11-07-2007, 10:29
AndreasS
 Newbie
Links : Onlinestatus : AndreasS ist offline
Registriert seit: Mar 2004
Beiträge: 49
AndreasS ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von bUTschy
Er möchte einen $string kürzen nach xx Zeichen, die Trennung darf aber nicht mitten in einem Wort sein.

@AndreasS, ist es das was du meinst ? dann guck mal hier
Ja das war genau das, was ich erreichen wollte. Mit deiner Funktion funktioniert das nun wunderbar.

Vielen Dank an dich und auch an alle anderen, die mir bei meinem Problem wollten helfen.

Gruss Andreas
Mit Zitat antworten
  #8 (permalink)  
Alt 11-07-2007, 11:51
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich weise mal dezent darauf hin, dass das Aufsplitten und manipulieren von solch großen Arrays alles andere als "billig" ist und Server für gewöhnlich ihre Leistung auch anders, gewinnbringender in die Luft pusten können.
Mit Zitat antworten
  #9 (permalink)  
Alt 11-07-2007, 20:59
AndreasS
 Newbie
Links : Onlinestatus : AndreasS ist offline
Registriert seit: Mar 2004
Beiträge: 49
AndreasS ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ghostgambler
Ich weise mal dezent darauf hin, dass das Aufsplitten und manipulieren von solch großen Arrays alles andere als "billig" ist und Server für gewöhnlich ihre Leistung auch anders, gewinnbringender in die Luft pusten können.
Und wie sollte man das deiner Meinung nach besser lösen? Beispiel?
Wie schon geschrieben, möchte ich verhindern, dass ein Wort einfach abgeschnitten wird. Vielmehr sollte halt das kürzen bei einem Leerzeichen greifen und nicht fix nach so und so vielen Zeichen.

Mit deinen Bemerkungen kann man überhaupt nichts anfangen und diese tragen auch überhaupt nicht zur Lösung des Problems bei! Somit kannst du dir solche auch sparen!

Gruss Andreas
Mit Zitat antworten
  #10 (permalink)  
Alt 11-07-2007, 21:11
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Und wie sollte man das deiner Meinung nach besser lösen?
Es gibt fast immer noch eine bessere Lösung. Folgendes kürz nach eine beliebigen Anzahl von Zeichen (in diesem Fall 18) und schneidet dabei keine Wörter durch und das wesentlich schneller als irgendwelche riesen Arrays. ghostgambler hat durchaus Recht, vielleicht geht es sogar noch schneller.
PHP-Code:
$text 'Dies ist ein langer langer langer Text.';
echo 
substr $text0strrpos $text' ', - ( strlen $text ) - 18 ) ) ); 
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #11 (permalink)  
Alt 11-07-2007, 21:28
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das sieht nach einer SEHR guten Lösung aus!
(Bei UTF8-Seiten natürlich die mb_* Funktionen verwenden, aber das sollte klar sein~)
Funktioniert allerdings erst ab php5 :?


@meine unnützen Kommentare
Die Kommentare mögen aus deiner jetzigen Sichtweise auf die Dinge unnütz erscheinen - aber denk an mich, wenn du irgendwann ein bottle neck durch zu große Array-Manipulationen in deinen PHP-Skripten hast
Mit Zitat antworten
  #12 (permalink)  
Alt 11-07-2007, 21:32
AndreasS
 Newbie
Links : Onlinestatus : AndreasS ist offline
Registriert seit: Mar 2004
Beiträge: 49
AndreasS ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@ tontechniker

Ich bezweifle nicht, dass ghostgambler recht hat. Aber für einen PHP Anfänger sind solche Bemerkungen nicht wirklich hilfreich. Siehe auch seine erste Bemerkung! Darum musste ich das schreiben.
Nun zu deiner Lösung: Habe mir das eingebaut, bekomme nun aber eine Fehlermeldung.
Warning:
Wrong parameter count for strrpos() in /srv/www/htdocs/web5/html/anzeigen_girls/liste.inc.php on line 63


Welcher Parameter fehlt da noch?
Mit Zitat antworten
  #13 (permalink)  
Alt 11-07-2007, 21:34
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was steht denn dazu im manual, was die funktion erwartet?
Mit Zitat antworten
  #14 (permalink)  
Alt 11-07-2007, 21:47
AndreasS
 Newbie
Links : Onlinestatus : AndreasS ist offline
Registriert seit: Mar 2004
Beiträge: 49
AndreasS ist zur Zeit noch ein unbeschriebenes Blatt
Standard

strrpos -- Sucht letztes Vorkommen des gesuchten Zeichens und liefert die Position

Nun suche ich ja nach einem Leerzeichen, sollte also soweit stimmen. Nur mit diesen ganzen Verschachtelungen komme ich nicht recht mit.
Mit Zitat antworten
  #15 (permalink)  
Alt 11-07-2007, 21:53
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Das sieht nach einer SEHR guten Lösung aus!
Danke
Zitat:
Habe mir das eingebaut, bekomme nun aber eine Fehlermeldung.
Liegt wohl daran das du noch PHP 4 benutzt.
Zitat:
int strrpos ( string $haystack, string $needle [, int $offset] )
Anmerkung: Seit PHP 5.0.0 kann offset den Anfangspunkt der Suche einer beliebigen Anzahl Zeichen innerhalb des Strings angeben.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:07 Uhr.