Разделить входную строку в PHP на несколько частей без разрыва слов

удалось взять входную строку и разбить ее на две части и записать ее в 2 файла. То, что я хочу достичь сейчас, – это возможность взять его, когда он больше моего предела, и разделить его на 3 или даже 4 части и записать эти данные для разделения файлов без нарушения ввода.

Вот что я до сих пор понял, что я нашел здесь по этому вопросу: Split Strings in Half (Word-Aware) с PHP

public function createfiles(array $lines) { $File1 = __DIR__ . '/file1.txt'; $File2 = __DIR__ . '/file2.txt'; $regexLines = []; foreach ($lines as $line) { $regexLines[] = preg_quote($line); } $data = implode('|', $regexLines); //current data input is 18000 $myLimit = 10000; $dataLength = strlen($data); if ($dataLength > $myLimit) { $middle = strrpos(substr($data, 0, floor($dataLength / 2)), '/') + 1; //now want to split into four parts if input data is for instance 35000 characters // Strip off trailing / $data1 = substr($data, 0, $middle-1); $data2 = substr($data, $middle); //now want a $data3 and $data4 also stripping off a trailing / $this->writeToFile($File1, $data1); $this->writeToFile($File2, $data2); //now want to write to $File3 and $File4 if needed } else { $this->writeToFile($File1, $data); }; }