如何从选择区域php获取字符串的Randomely这个词

时间:2018-03-19 12:12:06

标签: php

我想用随机文字显示按摩 我的按摩是 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;

但我面临两个问题,

  • {text1 | text2 |}<<需要一个额外的“|”
  • 我想添加更多文字{text1 | text2 |} text {text3 | text4 |} text {text5 | text6 |}

这里有什么简单的解决方案吗?

1 个答案:

答案 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;