【发布时间】: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 中进行替换,我的第一个标题是这样的:
价格From示例To示例为3,
我也想输出相同的标题,但改变如下:
价格到例子从例子是3,
我使用下面的代码,但没有更改第二个单词。我明白了:
价格To例子To例子是3,
echo str_replace(array("From","To"), array("To","From"), $title);
【问题讨论】:
你想要strtr:
$newTitle = strtr($title, array("From"=>"To", "To"=>"From"));
【讨论】:
试试这个。
$phrase = "the price From example To example is 3";
$texta = array("From", "To");
$textb = array("To", "From");
$newphrase = str_replace($texta, $textb, $phrase);
【讨论】:
所以问题是 str_replace 将按照您的数组的顺序执行替换,并且无论您将它们放在什么顺序中,它总是会覆盖第一个替换。
第一步是告诉 str_replace 找到“From”并替换为“To”。在这一点上制作你的短语:
从例子到例子的价格是3
变成了
价格To example To example是3
然后将 str_replaces 替换为数组中的下一项,即查找“To”并将其替换为“From”。在这一点上,您可能会看到问题所在。
使用 ChrisMoll 的答案。
【讨论】: