【问题标题】:replace 2 words in a string with php用php替换字符串中的2个单词
【发布时间】:2015-05-28 02:15:01
【问题描述】:

如何在 php 中进行替换,我的第一个标题是这样的:

价格From示例To示例为3,

我也想输出相同的标题,但改变如下:

价格例子例子是3,

我使用下面的代码,但没有更改第二个单词。我明白了:

价格To例子To例子是3,

echo str_replace(array("From","To"), array("To","From"), $title);

【问题讨论】:

    标签: php string replace words


    【解决方案1】:

    你想要strtr:

    $newTitle = strtr($title, array("From"=>"To", "To"=>"From"));
    

    【讨论】:

      【解决方案2】:

      试试这个。

      $phrase  = "the price From example To example is 3";
      $texta = array("From", "To");
      $textb   = array("To", "From");
      
      $newphrase = str_replace($texta, $textb, $phrase);
      

      【讨论】:

      • 此代码与发布的原始代码执行相同的操作。
      • 需要更改变量位置。 $newphrase = str_replace($textb, $texta, $phrase);
      • 我试试这个但不适用于我的情况,我使用第一个答案并按我的意愿工作。谢谢!
      • 输出是价格 From example From example is 3
      【解决方案3】:

      所以问题是 str_replace 将按照您的数组的顺序执行替换,并且无论您将它们放在什么顺序中,它总是会覆盖第一个替换。

      第一步是告诉 str_replace 找到“From”并替换为“To”。在这一点上制作你的短语:

      从例子到例子的价格是3

      变成了

      价格To example To example是3

      然后将 str_replaces 替换为数组中的下一项,即查找“To”并将其替换为“From”。在这一点上,您可能会看到问题所在。


      使用 ChrisMoll 的答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-26
        • 1970-01-01
        • 2016-04-20
        • 1970-01-01
        • 2012-05-29
        相关资源
        最近更新 更多