我想从字符串中提取随机子串,我怎么能这样做?
让我说我有这个文字
$text = "Some totally random text I have, and I want to work on it! But need
some php skillz...";
因此我想要一个这样的数组,带有提取的子串
$random_string[0] = "random text I have";
$random_string[1] = "I have, and I want to work";
$random_string[2] = "need some php skillz...";
答案 0 :(得分:4)
$words = explode(' ', $string);
$numWords = count($words);
echo join(' ', array_slice($words, mt_rand(0, $numWords - 1), mt_rand(1, $numWords)));
答案 1 :(得分:3)
创建两个随机数,小于字符串的长度
$n1=rand(1, strlen($string));
$n2=rand(1, strlen($string));
然后使用$n
$new_string = substr($string, $n1, $n2)
希望这有帮助
<强>更新强>
你可以这样做来获取文字,
$string = "Hello Stack over Flow in here ";
use explode
- 返回一个字符串数组,每个字符串都是字符串的子字符串
$pieces = explode(" ", $string);
$ pieces 将是您的字符串
的一系列sepearte字词示例:
$pieces[0] = "Hello"
$pieces[1] = "can"
然后使用array_rand
- 从数组中选择一个或多个随机条目
$rand_words = array_rand($pieces, 2);
所以$rand_words
会有两个字符串中的随机单词
示例:
$rand_words[0]= "Stack"
$rand_words[1]= "Over"
答案 2 :(得分:0)
使用substr随机开始和长度。
$random_string = substr($text, rand(1, mb_strlen($text) - 20), rand(10, 20));
根据需要调整您的值并添加更多逻辑。