您好我正在PHP中使用這個函數來創建一些旋轉內容(使用spintax)。但是,如果spintax包含$(美元符號),它們將在輸出中刪除。
function spintext($s){
preg_match('#\{(.+?)\}#is',$s,$m);
if(empty($m)) return $s;
$t = $m[1];
if(strpos($t,'{')!==false){
$t = substr($t, strrpos($t,'{') + 1);
}
$parts = explode("|", $t);
$s = preg_replace("+\{".preg_quote($t)."\}+is", $parts[array_rand($parts)], $s, 1);
return spintext($s);
}
$out = spintext("Spinning a dollar sign: {$200|$400|$300}");
echo $out;
結果:
Spinning a dollar sign: 0
誰能勸這可能是爲什麼? 另外,您是否可以看到可以改進此代碼效率的任何區域,以加快旋轉過程並減少內存使用量?
DOLAR標誌是變量的一部分,如果你想保持它的輸出,你可以使用單引號'或$符號\ $ – Richard