Mailinglisten-Archive |
Hallo. > ich habe ein kleines Problem. Ich wuerde gerne eine Funktion schreiben, die > einen String in zwei gleich grosse Stuecke aufsplittet. "Gleich gross" > bedeutet dabei, dass kein Wort mittendrin abgeschnitten werden soll. Auf > welche Art die Funktion die beiden Teile zurueckliefert, ist mir dabei > gaenzlich schnuppe. > > Beispiel: > $MyString umfasst 300 Zeichen. > > AusEinMachZwei($MyString); liefert zwei Teile aus 150+x (kein Wort > abschneiden) und 150-x Zeichen zurueck. > > Hat jemand eine Idee dazu parat? a) Zeichen zaehlen. Erste Haelfte in einen anderen String legen. Den Rest durch folgende Schleife jagen: $i=1; do{ $c=substr($string_zweiteHaelfte,$i,1); $string_ersteHaelfte.=$c; $i++; } while($c!=' '); b) Den gesamten String ueber $str_parts=explode(' ',$ges_string); in ein array legen und an einen neuen leeren String beginnend bei $str_parts[0] solange immer das naechste array-Element anhaengen bis die Stringlaenge > 1/2 Gesamtstringlaenge ist. Gruss, TomH
php::bar PHP Wiki - Listenarchive