have managed to take an input string and split it into two parts and write it to 2 files. What I want to achieve now is the be able to take it when it's bigger than my limit and split it into 3 or even 4 parts and write that data to separate files without breaking the input.
Here's what I have managed so far which I found here at this question: Split Strings in Half (Word-Aware) with 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);
};
}