提取字符串的一部分并将其附加到PHP的末尾

时间:2018-08-12 19:05:16

标签: php regex string

我必须取出字符串的一部分并将其附加到末尾。我可以使用基本的str_replace().运算符来实现。但是,我要提取的部分不是恒定的。因此,我需要先获取它并将其存储在某个位置,然后才能附加它。我应该如何进行?

这里是一个例子:

$initial = 'I like apples and mangoes same as you.';
$final = 'I like same as you. apples and mangoes.';

在这种情况下,我将likesame之间的所有内容移到了最后。

1 个答案:

答案 0 :(得分:1)

使用正则表达式捕获likesame之间的部分,同时还捕获same及其后面的所有内容。然后,替换为第二组,然后替换为第一组,切换它们的位置。不需要中间变量:

$initial = 'I like apples and mangoes same as you.';
$final = preg_replace('/(?<=like)(.+)( same.+$)/', '$2$1', $initial);
print($final);

输出:

I like same as you. apples and mangoes