Вытаскивая при этом волосы:
Я пытаюсь зафиксировать текст между этими словами, и неизменно получаю разные результаты.
Текущий код:
preg_match_all("/ID:([0-9A-Za-z]+)/",$data,$ids);
if (count($ids[0]) > 1) {
$data = str_replace($ids[0][1],"",$data);
}
preg_match("/ORIG:(.*)ID:.*/",$data,$matches);
$name = $matches[1];
if (FALSE !== $heh = strpos($name,"SND BK:")) {
$name = substr($name,0,$heh);
}
Пример данных:
ORIG:FIRSTNAME LASTNAME ID:123123123 SND BK:TIB BANK BANK BANK DET:MEMO
ORIG:FIRSTNAME LASTNAME ID:123123123 SND BK:TIB BANK BANK BANK ID:123123123 DET:MEMO
ORIG:FIRSTNAME LASTNAME ID:123123123 DET:MEMO
Мне нужно полностью захватить данные между ORIG
и DET
.RegEx, который я продолжаю делать, всегда заканчивается получением одного из идентификаторов, когда у меня есть два идентификатора в поле.Иногда ORIG
даже не захватывается.
Любая помощь приветствуется.Спасибо.