【问题标题】:Extract part of a string and append it to its end in PHP [duplicate]提取字符串的一部分并将其附加到PHP的末尾[重复]
【发布时间】:2019-01-19 13:44:20
【问题描述】:

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

这是一个例子:

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

在这种情况下,我已将 likesame 之间的所有内容移至末尾。

【问题讨论】:

  • 什么是不恒定的?你能提供第二个例子吗?
  • 你试过 preg_replace 吗?
  • 这实在是太宽泛了。您给出的示例可以在您想要的输出中根据需要进行操作,但它只会做与该精确/精确示例匹配的一件事。我怀疑您需要更通用的检查来查找其他内容,或者如果它真的只是这一件事,那么您可以做一个简单的IF 并匹配确切的单词。

标签: php regex string


【解决方案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

【讨论】:

    猜你喜欢
    • 2022-12-11
    • 2015-05-28
    • 2020-08-19
    • 2014-03-06
    • 2017-09-29
    • 2013-02-02
    • 2018-04-20
    • 1970-01-01
    • 2020-08-15
    相关资源
    最近更新 更多