PHP将某个字符后的字符串删除到字符之前

时间:2017-05-03 11:11:51

标签: php

$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之前删除”

1 个答案:

答案 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函数。

希望这会对你有所帮助。