diff --git a/src/Content/Text/Plaintext.php b/src/Content/Text/Plaintext.php index 04af33cf7d..8a1b479937 100644 --- a/src/Content/Text/Plaintext.php +++ b/src/Content/Text/Plaintext.php @@ -244,13 +244,12 @@ class Plaintext $part = ''; $break_pos = 0; $comma_pos = 0; + $pos = 0; + $word = ''; $limit = $baselimit; while ($message) { - $word = $message; - $message = ''; - $pos = 0; $pos_word = mb_strpos($message, ' '); $pos_paragraph = mb_strpos($message, "\n"); @@ -260,6 +259,9 @@ class Plaintext $pos = $pos_word + 1; } elseif ($pos_paragraph !== false) { $pos = $pos_paragraph + 1; + } else { + $word = $message; + $message = ''; } if (trim($message)) { diff --git a/tests/src/Content/PlaintextTest.php b/tests/src/Content/PlaintextTest.php index 96830254f9..21906d8c39 100644 --- a/tests/src/Content/PlaintextTest.php +++ b/tests/src/Content/PlaintextTest.php @@ -32,17 +32,17 @@ class PlaintextTest extends FixtureTest 'Ich ignoriere auch Anfragen, wenn sie von Accounts kommen, die ggf. tausenden von anderen Accounts folgen, da ich davon ausgehe, (5/6)', 'dass da niemand ernsthaft so vielen Accounts folgen kann. (6/6)' ], - 'test-2' => [ - 'data' => 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - 'expected' => [ - 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (1/6)', - 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (2/6)', - 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (3/6)', - 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (4/6)', - 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (5/6)', - 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (6/6)' - ], - ] + ], + 'test-2' => [ + 'data' => 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', + 'expected' => [ + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (1/6)', + 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (2/6)', + 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (3/6)', + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (4/6)', + 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (5/6)', + 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (6/6)' + ], ], ]; }