There must be a fast and efficient way to split a (text) string at the "nth" occurrence of a needle, but I cannot find it. There is a fairly full set of functions
It could be:
function split2($string, $needle, $nth) { $max = strlen($string); $n = 0; for ($i=0; $i<$max; $i++) { if ($string[$i] == $needle) { $n++; if ($n >= $nth) { break; } } } $arr[] = substr($string, 0, $i); $arr[] = substr($string, $i+1, $max); return $arr; }