我一直在使用recurisve SpinTax處理器看到here,和它的作品只是罰款較小的字符串。然而,當字符串超過20KB時,它開始用盡內存,這就成了一個問題。PHP Spintax處理器
如果我有這樣的字符串:
{Hello|Howdy|Hola} to you, {Mr.|Mrs.|Ms.} {Smith|Williams|Austin}!
,我想有不放在一起的話隨意組合,並使用該技術爲鏈接看到以上(通過串遞歸直到花括號裏沒有更多的單詞),我該怎麼做?
我在想是這樣的:
$array = explode(' ', $string);
foreach ($array as $k=>$v) {
if ($v[0] == '{') {
$n_array = explode('|', $v);
$array[$k] = str_replace(array('{', '}'), '', $n_array[array_rand($n_array)]);
}
}
echo implode(' ', $array);
但它分崩離析的時候有在兩者之間的空間爲spintax的選項。 RegEx
似乎是這裏的解決方案,但我不知道如何實現它和有更高效的性能。
謝謝!
非常感謝!正如馬達拉答案的評論所說,這使我從內存錯誤到.0002590秒來處理一個40KB的文件。驚人!謝謝 – David