08 Februari 2016

Trik PHP: Membuat Article Spinner

Membuat artikel/posting yang isinya serupa tapi tak sama bisa dilakukan sendiri dengan cara yang cukup mudah.

Misalnya, jika ingin membuat artikel/posting yang isinya sebagai berikut:
Pada hari Minggu, Ku turut Ayah ke kota. Naik delman istimewa, Ku duduk di depan.

Dari contoh diatas maka kata yang dapat dirubah adalah:
  • Minggu, dapat diganti dengan Senin, Selasa, Rabu, Kamis, Jumat, dan Sabtu.
  • Ayah, dapat diganti dengan Ibu, Kakak, dan Teman.
  • Kota, dapat diganti dengan desa, dan pasar.
  • delman, dapat diganti dengan becak, sepeda motor, dan mobil.
  • depan, dapat diganti dengan belakang.

Maka, contoh artikel/posting di atas dapat ditulis sebagai berikut:
Pada hari {Minggu|Senin|Selasa|Rabu|Kamis|Jumat|Sabtu} Ku turut {Ayah|Ibu|Kakak|Teman} ke kota. Naik {delman|becak|sepeda motor|mobil} istimewa, Ku duduk di {depan|belakang|samping}.

Gabungkan penulisan artikel/posting yang kedua dengan PHP Spintax Class sedemikian rupa sehingga sebagai berikut:
<?PHP
/**
* Spintax - A helper class to process Spintax strings.
* @name Spintax
* @author Jason Davis - http://www.codedevelopr.com/
*/
class Spintax
{
public function process($text)
{
return preg_replace_callback(
'/\{(((?>[^\{\}]+)|(?R))*)\}/x',
array($this, 'replace'),
$text
);
}

public function replace($text)
{
$text = $this->process($text[1]);
$parts = explode('|', $text);
return $parts[array_rand($parts)];
}
}
?>
<?PHP
$spintax = new Spintax();
$string = 'Pada hari {Minggu|Senin|Selasa|Rabu|Kamis|Jumat|Sabtu} Ku turut {Ayah|Ibu|Kakak|Teman} ke kota. Naik {delman|becak|sepeda motor|mobil} istimewa, Ku duduk di {depan|belakang|samping}.';
echo $spintax->process($string);
?>

Ilustrasi Trik PHP: Membuat Article Spinner - Dipopedia

Silakan uji Article Spinner yang telah dibuat pada tautan berikut PHPTESTER - Test PHP code online, Fast Article Spinner (The FREE Article Spinner), atau PhpFiddle - PHP/MySQL online IDE and execution server.
Tidak ada komentar: