Я пытаюсь заменить строку между 284^A0N,30,24^FD
и ^FS ^FO22,314
Пример: ^FO22,284^FT22,284^A0N,30,24^FDADRIAN ROY BAGUIO^FS ^FO22,314^FT22
В приведенной выше строке я хочу заменить ADRIAN ROY BAGUIO другим именем.
Я пробовал ниже, но не повезло.
$search = "/(284\^A0N,30,24\^FD)(.*?)(\^FS \^FO22,314)/";
echo preg_replace($search,$firstname,$content);
Я что-то упустил?
Я нашел решение, но не уверен, что оно лучшее, но оно работает.
//Replacing First & Last Name
$firstRep = FindReplace($content,"284^A0N,30,24^FD", "FO22,314", $firstname." ".$lastname);
function FindReplace($content,$tagOne,$tagTwo,$reppar)
{
$startTagPos = strrpos($content, $tagOne);
$endTagPos = strrpos($content, $tagTwo);
$tagLength = $endTagPos - $startTagPos + 1;
$text = substr_replace($content, $tagOne.$reppar.'^FS ^'.$tagTwo, $startTagPos, $tagLength);
return $text;
}
Можете ли вы добавить все свои переменные? Так проще сказать, что ты делаешь не так.