我想用随机文字显示按摩
我的按摩是
text {text1|text2} Text3 {text4|text5}
,结果将是
结果= text text2 Text3 text5
{text1|text2} And {text4|text5}
总是随机输出。
我已经尝试过这个了
$text= 'text {text1|text2|}' ;
preg_match_all("/{(.*?)}/", $text, $matches);
$var1=$matches[1][0];
$a = explode('|', $var1, -1) ;
$rand= array_rand($a);
$randome= $a[$rand];
echo $randome;
但我面临两个问题,
这里有什么简单的解决方案吗?
答案 0 :(得分:0)
使用正则表达式接近这一点很糟糕。而是在从数组中提取随机字符串后编写字符串:
$words1 = array('text1', 'text2');
$words2 = array('text4', 'text5');
$rand1 = array_rand($words1);
$rand2 = array_rand($words2);
$string = 'text ' . $words1[$rand1] . ' text3 ' . $words2[$rand2];
echo $string;