Похоже, что я не единственный кто делал нечто подобное:
https://stackoverflow.com/questions/50894957/get-offset-from-preg-replace-callbackЯ уже получил то что хотел:
$position = 0;
preg_replace_callback('~(\S+)~', function(array $match) use ($Code, &$position)
{
$offset = strpos($Code, $match[0], $position);
$position = $offset + strlen($match[0]);
$line = substr_count($Code, "\n", 0, $position)+1;
echo $position.'|'.$line.'|'.$match[1].'
';
}, $Code);
В php есть функция preg_replace_callback(), так вот я хочу чтобы я мог делать что-то каждый раз, когда нахожу новое вхождение, до тех пор пока не обойду всю строку.
В качестве примера, используйте любой фрагмент кода на С-подобном языке.
P.S.: Пока сделал так: Но вы всё ещё можете улучшить это как-то.