2013-11-01 17 views
0

我知道如何找到(部分)字符串并更改它,但问题是,我必须更改的部分长度和字符都是可变的。找到字符串之间的部分并将其更改为

例如

$string = "bla1bla2bla3textbla4bla5"; 

normaly我要爆炸过滤掉文本,而是因为“bla3”不同的是,以“bla4”,我不知道如何爆炸或发现“文本”,但它总是之间“bla3”和“bla4”,但“文本”是变量aswel作为bla1,2和5. 我发现“文本”后,我需要用其他文本替换它。

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

+1

尝试使用'正则表达式'为PHP将是一个函数称为'preg_replace' –

+0

你可以编辑3或4个不同场景的例子吗?然后我们可以找出一个合适的正则表达式。 – brandonscript

+0

为什么在使用'str_replace'时使用正则表达式? – Joren

回答

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'); 

而且作为描述您的问题:我想尝试使用Google类似php replace substring

0

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

$text = preg_split("/[0-9]*/", "bla1bla2bla3textbla4bla5"); 
+0

对于特殊问题,表达式可能是'/(bla)(3 | 4)/' –

0

好吧,一些例子。

$string1 = "bla1bla2bla3textbla4bla5"; 

找到$字符串 “文本” 和 “榜样” 代替

输出:

$string1 = "bla1bla2bla3examplebla4bla5"; 

其他例子

​​

找到 “不”,在$ string并将其替换为“example”

输出:

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

其他例子

$string3 = "textbla3textbla4text" 

查找 “文本”,但只有bla3和bla4和 “榜样” 替换它的一个

输出768,16是这样

$string3 = "textbla3examplebla4text" 

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

相关问题