Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何替换多个字符串_Php - Fatal编程技术网

PHP如何替换多个字符串

PHP如何替换多个字符串,php,Php,我是php初学者,在替换和分解方面有问题 我想用“:”替换字符串 所有字符串都是未知的 输入: string1:string2:string3:string4: have:a:good:day: link1:link2:link3:link4: 输出: string1:string2:newString:string4: have:a:newString1:day: link1:link2:newString3:link4: 我想你是在寻找和功能。您可以这样做,将字符串拆分为一个数组,您可以

我是php初学者,在替换和分解方面有问题

我想用“:”替换字符串 所有字符串都是未知的

输入:

string1:string2:string3:string4:
have:a:good:day:
link1:link2:link3:link4:
输出:

string1:string2:newString:string4:
have:a:newString1:day:
link1:link2:newString3:link4:

我想你是在寻找和功能。您可以这样做,将字符串拆分为一个数组,您可以修改数组元素,然后将它们重新组合为一个字符串

$str = "have:a:good:day:";

$tokens = explode(":", $str);
//$tokens => ["have", "a", "good", "day", ""]

$tokens[2] = "newString1";
//$tokens => ["have", "a", "newString1", "day", ""]

$str2 = implode(":", $tokens);
//$str2 => "have:a:good:day:"
或者,如果只想替换字符串中的某些单词,可以使用函数将一个单词替换为另一个单词。例如

$str = "have:a:good:day:";
$str2 = str_replace("good", "newString1", $str);
//$str2 => "have:a:newString1:day:";

替代品来自哪里?你总是替换第三个字段,还是替换特定的单词?为什么会有人用内爆和爆炸来替换字符串?他问到爆炸。可能是他想要替换元素N,而不是基于文本替换。不过,我扩展了我的答案,以涵盖这两种情况。但他并没有考虑内爆,而这段代码对于那个简单的任务来说太过了。如果是这样的话,就用字符串替换和数组标记向他展示真正的解决方案。你假设你知道用例只是用一个字符串值替换另一个字符串值,这个问题并不清楚,所以如果他们想根据元素在字符串中的“位置”进行替换,我也介绍了这种方法。如果你对我的回答不满意,我帮不了你。我的回答中有两个“真正的”解决方案。编辑:从OP的编辑到他们的帖子,这似乎是正确的方法,字符串未知。