我正在尝试替换284^A0N,30,24^FD
和^FS ^FO22,314
之间的字符串
示例:^FO22,284^FT22,284^A0N,30,24^FDADRIAN ROY BAGUIO^FS ^FO22,314^FT22
在上面的字符串中,我想用另一个名字代替阿德里安·罗伊·巴乔。
我试过下面的,但没有成功。
$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;
}