SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.08.2003, 18:02:25
Box Box ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 17
Box eine Nachricht über ICQ schicken
bestimmte zeichenanzahl...

hi,

ich möchte einen string nach einer bestimmten anzahl von zeichen abbrechen, jedoch vorher noch zum vorherigen leerzeichen zurückspringen, damit das wort (wo die zeichenlänge erreicht wird) nicht auseinandergerissen wird.

ich hatte schon eine idee, dass ich das ganze in einer schleife (z.b. for oder while) einbaue und dann immer mit strlen() ob ich schon die zeichenlänge überschritten hab oder nicht.
ein zweites problem: ich kann nicht einfach <br> benutzen, da ich den text auf einen bild, mit hilfe von imagettftext(), erstellen möchte.

wer kann mir dabei helfen?
__________________
mfg Box

der anfang ist das schwerste und das ende am leichtesten - gut, dass es kein ende gibt (in sachen software)
Mit Zitat antworten
  #2  
Alt 03.08.2003, 18:55:27
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich kann Dir nur bei ersterem helfen:
PHP-Code:
<?php
$str
='Das ist ein längerer
Text ohne Zeilenumbrüchen, wo
sie niemand braucht und auch
wohl niemand setzen würde.'
;

$max_chars=100;
$words=explode(' '$str);

$str_neu='';
for (
$i=0$i<count($words); $i++) {
    if (
strlen($str_neu)+strlen($words[$i])<$max_chars) {
        
$str_neu.=$words[$i].' ';
    }
}

echo 
$str_neu;
?>
Die Zeichenkette wird an den Leerzeichen aufgetrennt und dann in einer Schleife überprüft, ob das nächste Wort noch angehangen werden kann ohne das Maximum zu überschreiten.
Das Ding ist aber noch nicht so toll. Schließlich wird HTML nicht beachtet. Sollte da mal ein Link dazwischen sein, dann sind 100 Zeichen schnell voll.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 03.08.2003, 19:03:37
Box Box ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 17
Box eine Nachricht über ICQ schicken
hmm ... ich hab mal die zeichenlänge max_chars mal auf 10 gesetzt. ausgabe: Das ist :(
__________________
mfg Box

der anfang ist das schwerste und das ende am leichtesten - gut, dass es kein ende gibt (in sachen software)
Mit Zitat antworten
  #4  
Alt 03.08.2003, 19:10:46
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Na ist doch richtig so!
das --> 3 Zeichen
--> Leerzeichen, ein Zeichen --> 4 Zeichen
ist --> 3 Zeichen --> 7 Zeichen
--> Leerzeichen, ein Zeichen --> 8 Zeichen
ein --> 3 Zeichen --> 11 Zeichen --> größer 10, also nicht mehr dabei.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 03.08.2003, 19:40:26
Box Box ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 17
Box eine Nachricht über ICQ schicken
das ist klar. meinte ja nur, dass der string nicht vollständig ausgegeben wird. muss ich wohl erst noch machen..

trozdem danke erstmal für die hilfe!
__________________
mfg Box

der anfang ist das schwerste und das ende am leichtesten - gut, dass es kein ende gibt (in sachen software)
Mit Zitat antworten
  #6  
Alt 03.08.2003, 19:50:43
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Zitat:
das ist klar. meinte ja nur, dass der string nicht vollständig ausgegeben wird.
Hi Box,

aber genau das, wolltest Du doch, oder?!?
Mit Zitat antworten
  #7  
Alt 03.08.2003, 20:03:12
Box Box ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 17
Box eine Nachricht über ICQ schicken
du hast es erfasst ;)

hatte gerade die idee bekommen in der schleife massenhaft abfragen einzubauen...
PHP-Code:
if(strlen($words[$x])<$max_chars){...}
if(
strlen("$words[$x] $words[$x+1]")<$max_chars){...}
if(
strlen("$words[$x] $words[$x+1] $words[$x+2]")<$max_chars){...}
... 
ist aber ziemlich umständlich :(
__________________
mfg Box

der anfang ist das schwerste und das ende am leichtesten - gut, dass es kein ende gibt (in sachen software)
Mit Zitat antworten
  #8  
Alt 03.08.2003, 20:05:28
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich verstehe Dein Problem nicht (mehr), Kiste. Das Skript da oben macht doch exakt das, was Du wolltest. Dachte ich. Denkt Chris.

Formuliere bitte nochmal, was Du willst und dann fangen wir einfach von vorne an.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #9  
Alt 03.08.2003, 20:12:57
Box Box ist offline
Anfänger
 
Registriert seit: Aug 2003
Beiträge: 17
Box eine Nachricht über ICQ schicken
allllsoooo...

ich lese auf einem textfile einen string aus und möchte diesen auf einen png-bild darstellen. dieser string darf aber eine bestimmte zeilenlänge nicht übersteigen, da der text sonst neben dem bild steht. <br> kann ich dabei nicht benutzen, da sonst auf den bild nur "<br>" steht. d.h. ich muss als erstes eine algorhytmus(?) finden womit ich den string auf die richtige länge bringe und als zweites eine schleife (oder etwas anderes) was den geteilten string auf den bild ausgibt.

ist die erklärung ausreichend?
__________________
mfg Box

der anfang ist das schwerste und das ende am leichtesten - gut, dass es kein ende gibt (in sachen software)
Mit Zitat antworten
  #10  
Alt 03.08.2003, 20:38:10
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Algorithmus ;)

Nehmen wir halt das:
PHP-Code:
<?php
$str
='Das ist ein Test zum testen eines
sinnlosen Testes, der ein Test für
selfPHP ist. Ist halt so ein Test.'
;

$str=str_replace("rn"' '$str);

$max_chars=20;
$words=explode(' '$str);

$i=0;
while (
true) {
    if (!isset(
$str_neu[$i])) {
        
$str_neu[$i]='';
    }

    
$j=0;
    while (
strpos($str' '$j)<=$max_chars && $j<strlen($str)) {
        
$j++;
    }

    
$str_neu[$i]=substr($str0$j-1);

    
$str=substr($str$jstrlen($str));

    if (
strlen($str)<$max_chars) {
        
$i++;
        
$str_neu[$i]=$str;
        break;
    }

    
$i++;
}

echo 
join("nn"$str_neu);
exit;
?>
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:32:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt