Mendeteksi baris kosong atau baris baru teks sms dengan perintah REGEXP

Tulisan kali ini terinspirasi dari kegagalan aplikasi sms center yang penulis buat menggunakan PHP, dimana fitur auto respon tak mampu menghandle format sms yang dimulai dengan baris kosong atau lebih dikenal dengan Line Feed atau Line Break.

Alkisah aplikasi memiliki fasilitas SMS EVENT dengan Auto Reply dimana setiap konsumen yang mengirimkan sms dengan format #daftar #nama #alamat #peserta maka pengirim akan mendapat balasan dan no registrasi secara otomatis.

Pada prakteknya terdapat beberapa sms yang sudah benar formatnya namun tidak mendapat sms balasan secara otomatis dengan kata lain tidak dikenali sebagai sms event. Ketika ditelusuri ternyata sms yang dikirim tidak diawali dengan keyword/kata kunci (#daftar) melainkan diawali baris kosong/line feed/line break.

Setelah diskusi akhirnya diputuskan bahwa jika sms diawali spasi kosong dan baris kosong sedang format sms benar maka sms tersebut dianggap dan diterima sebagai sms registrasi. Adapun kode untuk memfilter format sms tersebut tim kupasabis.wordpress.com menambahkan perintah seperti dibawah ini:

  1. TRIM(TextDecoded) REGEXP ‘^ $Keyword’
    • TRIM adalah formula untuk menghapus spasi kosong yang ada di awal dan akhir string
    • REGEXP adalah formula yang digunakan untuk menentukan apakah string yang dipilih sesuai atau tidak
    • Tanda ^ adalah formula yang digunakan untuk menentukan awal string
    • $keyword adalah variabel yang digunakan sebagai kata kunci pencocokan

    Jadi jika diterjemahkan kurang lebih sebagai berikut :

    Cari semua sms yang masuk yang diawali dengan kata kunci (keyword)

  2. TRIM(TextDecoded) REGEXP ‘^\r.*$Keyword’
    • TRIM adalah formula untuk menghapus spasi kosong yang ada di awal dan akhir string
    • REGEXP adalah formula yang digunakan untuk menentukan apakah string yang dipilih sesuai atau tidak
    • Tanda ^ adalah formula yang digunakan untuk menentukan awal string.
    • Tanda \r adalah formula yang digunakan untuk mendeteksi awal string merupakan baris kosong (line feed).
    • $keyword adalah variabel yang dijadikan sebagai keyword/kata kunci

    Jadi pernyataan nilai ^\r.*$Keyword pada formula REGEXP diatas kurang lebih jika diterjemahkan sebagai berikut :

    Cari semua sms yang masuk yang diawali dengan baris kosong (line feed) kemudian diikuti dengan kata kunci (keyword)

  3. TRIM(TextDecoded) REGEXP ‘^\n.*$Keyword’
    • TRIM adalah formula untuk menghapus spasi kosong yang ada di awal dan akhir string
    • REGEXP adalah formula yang digunakan untuk menentukan apakah string yang dipilih sesuai atau tidak
    • Tanda ^ adalah formula yang digunakan untuk menentukan awal string.
    • Tanda \n adalah formula yang digunakan untuk mendeteksi awal string merupakan baris baru (line break)
    • $keyword adalah variabel yang dijadikan sebagai keyword/kata kunci

    Jadi pernyataan nilai ^\n.*$Keyword pada formula REGEXP diatas kurang lebih jika diterjemahkan sebagai berikut :

    Cari semua sms yang masuk yang diawali dengan baris baru (line break) kemudian diikuti dengan kata kunci (keyword)

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s

%d blogger menyukai ini: