我試圖創建帶有關鍵字高亮顯示的搜索表單,但顯然如果它沒有出現在列表結果的前幾個句子中,我將無法突出顯示該關鍵字 - 所以我需要創建一個sql語句,該語句將填充找到的關鍵字左側的字符數和右側的相同字符數。mysql選擇關鍵字周圍的內容
任何人都知道SQL語句會是什麼樣的東西?
確定 - 澄清 - 想象下面的SQL語句:
SELECT *
FROM `articles`
WHERE `content` LIKE '%keyword%'
現在 - 這條語句將返回一個結果列表WHERE子句匹配它。
我在做什麼接下來我包裹withing結果與跨度設定所有關鍵字高亮顯示關鍵字使用下面的方法(PHP):
public static function highlight($string = null, $keyword = null, $class = 'highlight') {
return str_ireplace($keyword, "<span class=\"{$class}\">{$keyword}</span>", $string);
}
現在,這將正常工作,但每個結果只顯示每個結果的起始X個字符。
我想要實現的是首先識別內容中的關鍵字,然後從該關鍵字的左側和右側抓取一些內容,這樣關鍵字總是出現在每個結果中。
我希望這是有道理的。
到目前爲止你有什麼? – 2011-06-06 23:01:25