Mailinglisten-Archive |
This is a multi-part message in MIME format. ------=_NextPart_000_0033_01C07280.AAC08D20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit > dann würdest du (je nach gierigkeit) nach dem hundertsten char alles > abschneiden, gewollt war aber aber das das wort nicht abgetrennt wird, \S > passt auf alles ausser \s. > > $string1 = preg_replace("/^(.{100}\S*).*$/", "\\1", $string); > > vereinfacht: > ^.{100} - suche am stringanfang nach hundert chars > \S* - schaue ob es von *nicht* whitespace chars gefolgt wird > .*$ - schlucke den rest des strings leider sackgasse DEIN ansatz :-) siehe attachment - getestet unter php-4.0.3pl1 kiri PS: falls einer was gegen das attachment hat, so kann er mir morgen gerne eine rakete schicken ;-) ------=_NextPart_000_0033_01C07280.AAC08D20 Content-Type: application/octet-stream; name="test_preg.php3" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="test_preg.php3" <?php $string =3D "Ich werde weinen=20 Du stehst vor mir, schaust mich an und l=E4chelst,=20 genau so, wie ich es hab immer gerne gesehn,=20 hab nie geglaubt, der Tag w=FCrde kommen,=20 wo Du sagst Leb wohl, ich mu=DF gehn.=20 Ich reich Dir die H=E4nde, bleibe ganz stumm,=20 hoffe, Du kehrst noch mal um.=20 Und ich werde weinen in der Nacht, in Gedanke an Dich,=20 in Gedanken an unsere Liebe, die das Gl=FCck war f=FCr mich.=20 Schon lange bist du fort, doch ich bin noch hier,=20 denke an all die wundervollen Tage, wo ich so gl=FCcklich war mit Dir. Denke an Deine Umarmung, Deinen ersten Ku=DF,=20 und wei=DF, mit allem ist jetzt Schlu=DF.=20 Und ich werde weinen in der Nacht,=20 und jede Tr=E4ne die f=E4llt,=20 ist die Erinnerung an sch=F6nen Stunden,=20 die wir haben nie gez=E4hlt."; echo "strlen: ".strlen($string)."<hr> "; // daniel echo preg_replace("/^(.{100}\S*).*$/", "\\1",$string); echo "<hr>"; // kiri $string_array =3D preg_split("/\s/",$string); // string zerlegen $zeichen =3D 100; // anzahl der zeichen f=FCr die ausgabe $nz =3D 1; // hier nix =E4ndern for($i=3D0;$i<count($string_array);$i++){ if($nz <=3D $zeichen){ printf('%s ',$string_array[$i]); } else { break; } $nz +=3D strlen($string_array[$i]); } ?> ------=_NextPart_000_0033_01C07280.AAC08D20--
php::bar PHP Wiki - Listenarchive