$text= "This is a text1 i want to replace before # text2 i want to replace
before # text3"
Start point ="text1"
End point = "#"
Replace= "@@@@@@"
注意“我想在之前替换”是可变句 结果将是“这是一个@@@@@@ text2我想在#text3之前删除”
答案 0 :(得分:0)
这就是你想要的
$mystring = "This is a text1 i want to replace before # text2 i want to replace before # text3";
$start = "text1";
$end = "#";
$replace= "@@@@@@";
$pos1 = strpos($mystring, $start);
$pos2 = strpos($mystring, $end, $pos1);
$length=$pos2+ strlen($end) - $pos1;
$result = substr_replace($mystring,$replace,$pos1,$length);
echo $result;
我在这里做的是找到字符串位置。 $ pos1& $ pos2是开始和结束字符串的位置。
然后计算这两个字符串之间的长度,其中strlen($ end)是结束字符串的长度(这样我们也可以获取结束字符串)。
最后只使用了常规的substr_replace函数。
希望这会对你有所帮助。