MySQL için, en iyi bahis ilk sorgu sözcükleri bölmek kendi değerlerini temizlemek ve sonra güzel bir düzenli ifadeye geri herşeyi birleştirmek olacaktır.
Sonuçlarınızı vurgulamak için, size <strong>
etiketini kullanabilirsiniz. Eğer bir öğe üzerinde strong vurgu olarak kullanım semantik olacaktır.
// Done ONCE per page load:
$search = "Hello World";
//Remove the quotes and stop words
$search = str_ireplace(array('"', 'and', 'or'), array('', '', ''), $search);
// Get the words array
$words = explode(' ', $search);
// Clean the array, remove duplicates, etc.
function remove_empty_values($value) { return trim($value) != ''; }
function regex_escape(&$value) { $value = preg_quote($value, '/'); }
$words = array_filter($words, 'remove_empty_values');
$words = array_unique($words);
array_walk($words, 'regex_escape');
$regex = '/(' . implode('|', $words) . ')/gi';
// Done FOR EACH result
$result = "Something something hello there yes world fun nice";
$highlighted = preg_replace($regex, '<strong>$0</strong>', $result);
Eğer PostgreSQL kullanıyorsanız, sadece yerleşik ts_headline
as described in the documentation kullanabilirsiniz.