seth: Lösung?

Beitrag lesen

gudn tach!

/^(.{0,".(ceil(strlen($contents)/2)+20)."})\s,.!?-$/sm

das ist aber nicht mehr das gleiche vie vorher, denn vorher wurde das worttrennzeichen in $1 oder $2 (je nach laenge von $contents und der position des trennzeichens) gespeichert. jetzt geht es floeten.

btw.: je nach beschaffenheit des strings und den informationen, die dir darueber vorliegen, kann es besser sein die zeichenklasse der trennzeichen als negierte nicht-trennzeichen-klasse zu betrachten. also statt [\s,.!?-] [^a-zA-Z0-9_äöüÄÖÜß].

eine etwas mehr an \b angelehnte nachbau-idee ist uebrigens folgende:
  $z='[a-zA-Z0-9_äöüÄÖÜß]';
  $n='[^a-zA-Z0-9_äöüÄÖÜß]';
  (?:(?<!$z)(?!$n)|(?<!$n)(?!$z))
spontan faellt mir kein beispiel ein, bei welchem \b und dieses ding was unterschiedliches machen wuerden (mal von von den locale-einstellungen abgesehen).

prost
seth