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