0

我知道如何找到一个(a 的一部分)字符串并对其进行更改,但问题是,我必须更改的部分的长度和字符是可变的。

例子

$string = "bla1bla2bla3textbla4bla5";

通常我应该爆炸以过滤掉文本,但是因为“bla3”与“bla4”不同,我不知道如何爆炸或找到“text”,但它总是在“bla3”和“bla4”之间,但是“text”是变量 aswel 作为 bla1、2 和 5。找到“文本”后,我需要用其他文本替换它。

也许我可以在谷歌上找到这个,但问题是,我不知道如何描述它。

4

3 回答 3

0

使用explode

$parts = explode('text',$string); //splits it into two parts, removing `text`
$string = $parts[0] .'replacement'. $parts[1]; //glue the parts together with replacement

使用str_replace

$string = str_replace('text','replacement');

至于描述你的问题:我会尝试用谷歌搜索类似php replace substring.

于 2013-11-01T20:15:56.740 回答
0

您可以为此使用 preg_split() 。我不记得确切的正则表达式,但它应该是这样的:

$text = preg_split("/[0-9]*/", "bla1bla2bla3textbla4bla5");
于 2013-11-01T20:17:43.303 回答
0

好的,一些例子。

$string1 = "bla1bla2bla3textbla4bla5";

在 $string 中找到“text”并将其替换为“example”

输出:

$string1 = "bla1bla2bla3examplebla4bla5";

另一个例子

$string2 = "I bla3don'tbla4 know how to do it"

在 $string 中找到 "don't" 并将其替换为 "example"

输出:

$string2 = "I bla3examplebla4 know how to do it"

另一个例子

$string3 = "textbla3textbla4text"

找到“text”,但只有 bla3 和 bla4 之间的那个,然后用“example”替换它

输出应该是这样的

$string3 = "textbla3examplebla4text"

希望这更清楚。所以 bla3 和 bla 4 的部分保持不变,但其他任何东西都可以改变。

于 2013-11-02T23:38:28.813 回答