Veröffentlicht 9. Oktober 200321 j 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?
9. Oktober 200321 j 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
9. Oktober 200321 j 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?
9. Oktober 200321 j 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]; } ?>
9. Oktober 200321 j 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]
9. Oktober 200321 j 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]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.