PHP文本改组和所有可能的选项

时间:2011-05-12 22:15:42

标签: php

说我有一个文字字符串:{a|b|c|d} {a|b|c|d} {a|b|c|d} {a|b|c|d}

简单的PHP函数来改变文本:

function fb_filter_shuffle($string)
{
    if(empty($string))
    {
        return NULL;
    }

    return preg_replace_callback('/\{.*?\}/i', function($m)
    {
        $options    = explode('|', mb_substr($m[0], 1, -1));

        shuffle($options);

        return current($options);
    }, $string);
}

我需要获得输出的所有可能变化。但是怎么样?我到目前为止唯一的选择是运行代码nnn次并选择唯一的选项。更有效的建议?

1 个答案:

答案 0 :(得分:1)

与Google合作30秒,看看我想出了什么;)

http://docstore.mik.ua/orelly/webprog/pcook/ch04_25.htm