我知道如何找到(部分)字符串并更改它,但问题是,我必须更改的部分的长度和字符都是可变的。
例如
$string = "bla1bla2bla3textbla4bla5";
normaly我应该爆炸来过滤掉文本,但因为“bla3”与“bla4”不同,我不知道如何爆炸或找到“文本”,但它总是在“bla3”和“bla4”之间,但是“text”与bla1,2和5一样可变。 在找到“文本”之后,我需要用其他文本替换它。
也许我可以在google上找到这个,但问题是,我不知道如何描述它。
答案 0 :(得分: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
。
答案 1 :(得分:0)
您可以使用preg_split()。我不记得确切的正则表达式,但它应该是这样的:
$text = preg_split("/[0-9]*/", "bla1bla2bla3textbla4bla5");
答案 2 :(得分:0)
好的,一些例子。
$string1 = "bla1bla2bla3textbla4bla5";
在$ string中找到“text”并将其替换为“example”
输出:
$string1 = "bla1bla2bla3examplebla4bla5";
其他例子
$string2 = "I bla3don'tbla4 know how to do it"
在$ string中找到“不要”并将其替换为“example”
输出:
$string2 = "I bla3examplebla4 know how to do it"
其他例子
$string3 = "textbla3textbla4text"
找到“text”但只找到bla3和bla4之间的那个,并用“example”替换它
输出应该像
$string3 = "textbla3examplebla4text"
希望这更清楚。 所以bla3和bla 4的部分保持不变,但其他任何事情都可以改变。