PHP替换标记之间

2022-03-22 00:00:00 php preg-replace

我正在寻找一种快速方法来替换位于两个标记之间的字符串中的文本。

The string contains <!-- Model # Start -->  <!-- Model # End -->  Tags.  

我只想替换标签之间的内容,我相信preg_replace()会这样做,但我不确定如何操作。


解决方案

要使用PREG_REPLACE,请传入原始字符串和正则表达式-将返回匹配结果。关于该方法没有什么可说的,因为您需要了解正则表达式才能使用它。

这里是一个编程解决方案,可能不是最高效的代码,但可以为您提供有关它正在做什么的提示。

$tagOne = "[";
$tagTwo = "]";
$replacement = "Greg";

$text = "Hello, my name is [NAME]";

$startTagPos = strrpos($text, $tagOne);
$endTagPos = strrpos($text, $tagTwo);
$tagLength = $endTagPos - $startTagPos + 1;

$text = substr_replace($text, $replacement, $startTagPos, $tagLength);

echo $text;

输出:您好,我叫Greg。

相关文章