Spintax

Spintax adalah format atau sintax (kode) yang digunakan untuk mengacak kata yang digunakan pada suatu kalimat. Anda dapat membuat beberapa versi kata yang akan digunakan dalam sebuah kalimat.

Sebagai contoh, perhatikan format spintax berikut:

{aku|saya} {sedang|lagi|merasakan} lapar, {ingin|akan} {makan|menyantap} {lontong {besar|kecil}|burger {besar|kecil}|roti {besar|kecil}|nasi {banyak|sedikit}}

Maka, saat program dijalankan akan menghasilkan kalimat dengan beberapa kemungkinan berikut:

  • aku lagi lapar, ingin menyantap lontong besar
  • aku merasakan lapar, ingin menyantap lontong besar
  • aku lagi lapar, akan menyantap roti kecil
  • saya merasakan lapar, ingin menyantap burger besar
  • atau yang lainnya

Berikut adalah fungsi spintax PHP yang dapat Anda gunakan untuk keperluan tersebut:

function spintax($string) {
preg_match('#{(.+?)}#is', $string, $m);

if(empty($m)) return $string;

$t = $m[1];
if(strpos($t,'{')!==false){
$t = substr($t, strrpos($t,'{') + 1);
}

$parts = explode("|", $t);
$string = preg_replace("+{".preg_quote($t)."}+is", $parts[array_rand($parts)], $string, 1);
return spintax($string);
}

Tags: