基本上我有一个代码,当你输入一个列在数组中的单词时,它会从另一个数组中的一个单词中随机替换它。在这种情况下,我想做到这一点,所以 $ bye 中的单词被$ hello中的单词替换, $ animal 中的单词被 $中的单词随机替换颜色
这一切都很好,虽然我想知道的是我将如何制作它,以便在回声中它不会显示两次而只是组合它。
例如,如果我输入“bye my cat”,它会给我举例如“hi my red”而不是目前给出的“哟我的再见,我的红色”。
这是我目前的代码:
$hello=array('hello', 'hi', 'yo'); //$replacements
shuffle($hello);
$animal = array('/mouse/', '/cat/', '/dog/'); //pattern
$colour = array('yellow', 'blue', 'red'); //$replacements
shuffle($dog);
echo preg_replace($bye, $hello, $words);
echo preg_replace($mouse, $dog, $words);
?>
答案 0 :(得分:1)
echo preg_replace($mouse, $dog, preg_replace($bye, $hello, $words));
你可以把它们结合起来......
或者将第一次替换的结果分配回$words
,然后再进行第二次
$words = preg_replace($bye, $hello, $words);
echo preg_replace($mouse, $dog, $words);
答案 1 :(得分:0)
可能需要添加
echo '<br>';
在第一次preg_replace之后? 甚至不是preg_replace这里适合str_replace
答案 2 :(得分:0)
我修改了你的代码......这是一个概念问题:
<?php
$words= "bye my cat";
echo $words."</br>";
$hello=array('hello', 'hi', 'yo'); //$replacements
shuffle($hello);
$pattern = array('/bye/', '/cat/', '/dog/'); //pattern
$replacements = array('hello', 'red', 'blue'); //$replacements
echo preg_replace($pattern, $replacements, $words);
?>
我希望你能清楚XD
PS:输出正常。
Saludos。