praktikca Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 hallo, ich habe einen text der mit der fkt substr($text,0,250); den inhalt von zeichen 0 bis zeichen 250 enthalten soll. jetzt soll üerprüft werden ob zeichen 250 ein leerzeichen ist damit ich weiss das ein ganzes wort zu sehen ist und nicht irgendein abgehacktes. wenn es halt kein leerzeichen ist soll von 0 bis 251 ausgeschnittenwerden und wieder geprüft. ich hab es aber irgendwie net hinbekommen, mit php. könnt ihr mir da helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
given_to_fly Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 Hi. <? $var = "250 Zeichen string"; $var2 = substr($var, 0, 250); if( $var2[249] != " ") { $var2 = substr($var, 0, 251); if( $var2[250] != " ") { echo "undsoweiter"; } } ?> Viel Spass Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
praktikca Geschrieben 9. Oktober 2003 Autor Teilen Geschrieben 9. Oktober 2003 wenn ich deinen code benutze geht es ja immer weiter also ihne abbruch oder? ich dachte da auch mehr an einen schleife. $i = 250; do { $i = $i + 1; $kurz = substr($lang,0,$i); }while($kurz[$i] != " "); aber der funktioniert auch nicht? kann einen einen fehler finden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
given_to_fly Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 Original geschrieben von praktikca wenn ich deinen code benutze geht es ja immer weiter also ihne abbruch oder? ich dachte da auch mehr an einen schleife. $i = 250; do { $i = $i + 1; $kurz = substr($lang,0,$i); }while($kurz[$i] != " "); aber der funktioniert auch nicht? kann einen einen fehler finden? Also du hast doch nur einen string von 251 zeichen ?! warum dann eine schleife ? Aber für deine schleife <? $count = 250 $var = "250 Zeichen string"; $var2 = substr($var, 0, $count); $count2 = $count - 1; $var3 = $var2[$count2]; while ( $var3 != " ") { $count++ $var2 = substr($var, 0, $count); $count2 = $count - 1; $var3 = $var2[$count2]; } ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ryson Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 Mit strpos() läßt sich einfacher feststellen, ob im Nachhinein noch ein Leerzeichen folgt. <? $nMaxLen = 30; $szString = "Ein Hut, ein Stock, ein alter Mann..."; if( strlen($szString) <= $nMaxLen ) { $szCut = $szString; } else if( substr($szString, $nMaxLen - 1, 1) == " " ) { $szCut = substr($szString, 0, $nMaxLen - 1); } else if( ($nPos = strpos($szString, " ", $nMaxLen)) === FALSE ) { $szCut = $szString; } else { $szCut = substr($szString, 0, $nPos); } echo "Original, ".strlen($szString).": |".$szString."|<br>\n"; echo "Kürzen auf: ".$nMaxLen."<br>\n"; echo "Abschnitt, ".strlen($szCut).": |".$szCut."|<br>\n"; ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jomama Geschrieben 9. Oktober 2003 Teilen Geschrieben 9. Oktober 2003 Warum immer so kompliziert. Text Bis 249 abschneiden, dann Nach Leerzeichen exploden und ersten String anhängen. <? $text="irgendein Text" $shorttext=$text; if(strlen($text)>250){ $shorttext = substr($text, 0, 249); $var= explode(" ",substr($text, 250, strlen($text))); $shorttext.= $var[0]; } ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.