我必须取出字符串的某一部分,并将其附加到末尾。我可以使用基本的str_replace()
和.
运算符来实现。然而,我想提取的部分并不是恒定的。因此,我需要获取并存储在某个位置,然后才能追加它。我应该如何继续?
下面是一个示例:
$initial = 'I like apples and mangoes same as you.';
$final = 'I like same as you. apples and mangoes.';
在本例中,我将like
和same
之间的所有内容都移到了最后。
发布于 2018-08-13 03:13:28
使用正则表达式来捕获like
和same
之间的部分,同时还捕获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
https://stackoverflow.com/questions/51811971
复制相似问题