dsyo9700 2012-10-20 21:16
浏览 33
已采纳

随机字符串微调器问题

i want to make a spin function to spin a string but i fased problem for doing it. I allready know how to sping words in string like changing {hi|hello} but what i want is different it is ranom spin in a string

$spin_words=array('Word1','Word2','Word3');
$text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";

so i want to add the words in random like

Lorem Ipsum is simply [Word1] dummy text of the printing and typesetting industry.

or

Lorem Ipsum is simply dummy text of the printing [Word2] and typesetting industry.

or

Lorem Ipsum is simply dummy text of the printing and typesetting industry [Word3].

so any help guys

regards

  • 写回答

1条回答 默认 最新

  • doumowu7371 2012-10-20 21:23
    关注

    You can try

    $words = array('Word1','Word2','Word3');
    $text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
    echo wordInString($text,$words);
    echo wordInString($text,$words);
    

    Output Example

    Lorem Ipsum is simply dummy Word1 text of the printing and typesetting industry.
    Lorem Ipsum is simply dummy text of the printing Word2 and typesetting industry.
    

    Function Used

    function wordInString($text,array $words) {
        $textNew = array();
        $p = mt_rand(0, substr_count($text, " "));
        $tok = strtok($text, " 
    \t");
        $x = 1;
        while ( $tok !== false ) {
            $textNew[] = $tok and $x == $p and $textNew[] = $words[array_rand($words, 1)];
            $tok = strtok(" ");
            $x ++;
        }
        return implode(" ", $textNew);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效