A slightly more flexible option, useful for analyzing ASCII tables with fixed records:
function ParseIrregularString ($string, $lengths)
{
$parts = array();
foreach ($lengths as $StringKey => $position)
{
$parts[$StringKey] = substr($string, 0, $position);
$string = substr($string, $position);
}
return $parts;
}
By sending the following:
$string = "abcdefghiklmnopqrstuvz";
$lengths = array ("field1"=>4, "field2"=>3, "field3"=>5, "field4"=>2);
print_r (ParseIrregularString ($string, $lengths));
returns:
Array ( [field1] => abcd [field2] => efg [field3] => hiklm [field4] => no )
source
share