Copyright © Hieppies
Design by Dzignine
Kamis, 22 Mei 2014

PHP Class Spintax


Jika anda ingin memutar (Spinning) kata dari suatu kalimat, itu cukup mudah untuk dilakukan dengan menggunakan kode PHP.

Catatan: Google sudah sangat baik dalam mendeteksi penggunaan teknik ini, jadi saya tidak merekomendasikan untuk penggunaan dalam konten halaman penuh.

Apa itu Spintax?.
Spintax itu terdiri dari gabungan 2 buah kata yaitu Spinning & Syntax.

Spintax adalah format atau sintax (kode) yang digunakan untuk memutar kata dari suatu kalimat, itu bisa berupa perangkat lunak (Software) atau website.

Artinya anda dapat membuat beberapa versi kata dari satu buah kata. Hal ini dapat dilakukan dengan secara acak dan menghasilkan satu buah kata dari beberapa kata yang ditentukan diantara pipa-pipa dalam rangkaian Spintax tersebut.

Contoh sederhana dari bentuk Spintax:

{Halo|Hi|Hola}

Dari rangkaian diatas, jika dieksekusi maka secara acak menghasilkan satu buah kata Halo atau Hi atau Hola.

Seperti yang anda lihat, ini benar-benar berguna untuk memutar suatu kata dari kata tunggal.

Berikut Class kode PHP:

<?php
/**
* Spintax - A helper class to process Spintax strings.
* @name Spintax
* @author Jason Davis - https://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)];
    }
}
?>
Penggunaan Class PHP Spintax:

<?php

$spintax = new Spintax();
$string = '{Halo|Hi|Hola}, Selamat {Pagi|Siang|Sore|Malam} cantik!.';
echo $spintax->process($string);

?>
Rangkaian Spintax: {Halo|Hi|Hola}, Selamat {Pagi|Siang|Sore|Malam} cantik!.
Hasil Spintax : Halo, Selamat Malam cantik!.

Spintax Bersarang (Nested)
Anda juga dapat menggunakan rangkaian Spintax bersarang. Berikut contohnya:
{{Pagi|Siang|Sore|Malam}|Menjelang Sore|Menjelang Malam}

0 komentar:

Posting Komentar