Mengklasifikasikan (memecah) keyword yang diinputkan oleh user

 

Saya ingin membuat fitur pencarian data dengan menggunakan keyword yang memiliki pola. Yang saya butuhkan adalah fungsi/method dalam script php untuk memecah keyword yang diinputkan oleh user, menjadi subkeyword yang sudah diklasifikasikan dalam bentuk array. Untuk query databasenya akan saya atur sendiri berdasarkan subkeyword yang sudah diklasifikasikan.

Berikut klasifikasi pemecahan keyword
1) setiap subkeyword yang terpisah oleh spasi, dianggap subkeyword yang berbeda.
2) subkeyword yang terapit oleh tanda petik, baik itu tanda petik satu ataupun tanda petik dua, dianggap satu subkeyword.
3) subkeyword tanpa tanda min/plus di depannya, diklasifikasikan sebagai general subkeyword.
4) subkeyword dengan tanda plus di depannya, diklasifikasikan sebagai required subkeyword.
5) subkeyword dengan tanda min di depannya, diklasifikasikan sebagai forbidden subkeyword.


Berikut contoh keyword

1) general keyword
2) "general keyword"
3) 'general keyword'

4) +required +keyword
5) +"required keyword"
6) +'required keyword'

7) -forbidden -keyword
8) -"forbidden keyword"
9) -'forbidden keyword'


Contoh case 1

keyword : satu dua tiga
output :
array
{
"general"=>array("satu","dua","tiga"),
"required"=>array(),
"forbidden"=>array()
}


Contoh case 2
keyword : satu +plussatu +"plus satu" -minsatu dua +plusdua +'plus dua' tiga +plustiga -'min tiga'
output :
array
{
"general"=>array("satu","dua","tiga"),
        "required"=>array("plussatu","plus satu","plusdua","plus dua","plustiga"), "forbidden"=>array("minsatu","min tiga")
}

PHP

Published Budget: Rp 150,000 - 150,000
Finish Days: 7
Published Date: 05/01/2021 06:04:31 WIB
Start Date: 05/01/2021 13:30:13 WIB
Finish Date: 07/01/2021 08:57:37 WIB
Project Status: Closed
Accepted Worker: Oman (oman_s)
Accepted Budget: Rp 150,000
Project Ending: Completed

Project Owner

Irwan8910
Kota Cirebon
    
9.75/10.00
109 Point
#3,803 dari 380,970
Rated Worker: 10.00/10.00

great works

Accepted Worker

oman_s
    
10.00/10.00
115 Point
#2,760 dari 380,970
Rated Owner: 10.00/10.00

terima kasih atas undangan n kerja sama nya.

  User Bids

lazuardi.dp
    
9.87/10.00

cditop
    
10.00/10.00

erik_ahau
    
9.88/10.00

gladmartin
    
10.00/10.00

christian_123
    
9.56/10.00

fred_lim
    
9.97/10.00

oman_s
    
10.00/10.00

ibnulhusainan
    
9.80/10.00

erpe0509
    
0.00/10.00

Recommended Workers

Iswanto

24,809 points
528 projects
    
9.72/10.00

Muhammad.Rahman

17,037 points
178 projects
    
9.79/10.00

steven.comptia

40,284 points
871 projects
    
9.97/10.00

manakreatif

14,082 points
114 projects
    
9.71/10.00

rakifsul

16,945 points
63 projects
    
10.00/10.00

Recommended Services

Tiru Website Lain Sesuai Keinginan (Cloning)

Rp 650,000
14 sales
    
9.86/10.00

Bot Telegram Amibroker & Fundamental

Rp 5,950,000
1 sales
    
10.00/10.00

Pembuatan bot line

Rp 1,500,000
6 sales
    
10.00/10.00

Aplikasi Jasa Servis dan panggil Teknisi

Rp 3,800,000
2 sales
    
10.00/10.00

Open Projects

Plugin ongkos kirim woocommerce API official

Owner: busniabedi
Budget: Rp 750,000 - 1,000,000

Scrape Website

Owner: nekatjadiit
Budget: Rp 150,000 - 250,000

Integrasi api mobilepulsa dan xendit / ipaymu

Owner: Growarrow
Budget: Rp 500,000 - 1,500,000

Pembuatan Module (Fitur) dalam Project Laravel

Owner: bayuuu
Budget: Rp 500,000 - 1,000,000

 


Live Chat