2011-05-12 19 views
0

說我有一個文本字符串:{a|b|c|d} {a|b|c|d} {a|b|c|d} {a|b|c|d}PHP文本混排和所有可能的選項

而且簡單的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

30秒谷歌,並期待什麼,我想出了;)

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

+0

你給的鏈接是不是一個很好的解決方案...... 的確有A,B,C 你得到的結果是: 一個 乙 BA ç CA CB CBA 它遺漏AB,AC,ABC,BCA,CBA是不是? – zzarbi 2011-05-12 23:55:12