ваш учет offset_m и amp_m, похоже, неверен. Возьмем, к примеру, простую строку «a & b & c» - ваш код должен быть выведен из этого текста:
a
b
c
но если вы проследите через код, вы увидите, что когда вы доберетесь до первого &
, тогда offset_m=0
и amp_m=1
и вы напечатаете a
- это нормально, но когда вы доберетесь до второго &
затем offset_m=1
и amp_m=2
, которые на самом деле будут печатать &b
, и ни в коем случае вы не напечатаете последний элемент.
Использование простого алгоритма разделения строк, такого как предложенный mysqlforums, является обычным способом решения этой задачи, но я считаю, что вы должны быть в состоянии придумать простой алгоритм цикла, который даст вам то, что вам нужно. Подумайте об этом еще раз и попробуйте запустить алгоритм в вашей голове (или с помощью ручки и бумаги), чтобы попытаться понять, как он работает - я уверен, вы его получите!
Если у вас все еще есть проблемы, напишите что-нибудь здесь, и я постараюсь помочь снова.