summaryrefslogtreecommitdiffstats
path: root/weblogviewfunctions.lua
blob: b809f23754d3dc3847b64b155fd272184858c7fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require("html")
require("session")

-- Split a string to an array by delimiter or pattern
function split(str, pat)
   if string.find(str, pat) == nil then
       return str
   end
   local t = {}
   local fpat = "(.-)" .. pat
   local last_end = 1
   local s, e, cap = str:find(fpat, 1)
   while s do
     if s ~= 1 or cap ~= "" then
        table.insert(t,cap)
     end
     last_end = e+1
     s, e, cap = str:find(fpat, last_end)
   end
   if last_end <= #str then
      cap = str:sub(last_end)
      table.insert(t, cap)
   end
   return t
end
-- Insert a string into another string
function string.insert(value, insert, place)

   if place == nil then
          place = string.len(value)+1
   end
             
   return string.sub(value, 1,place-1) .. tostring(insert) .. string.sub(value, place, string.len(value))
                
end

--Highlight occurences of a word in a string
function string.highlight(txtvalue, searchval, fcolour, bcolour)

  if txtvalue ~=nil and searchval ~= nil then
   sStart = string.find(string.lower(txtvalue),string.lower(searchval))
   if sStart ~= nil then
     sEnd = sStart + string.len(searchval)
     txtvalue = string.insert(txtvalue,"</font>", sEnd)
     txtvalue = string.insert(txtvalue,"<font style='color:"..fcolour.."; background-color:"..bcolour..";'>", sStart)
   end
  end
                                              
  return txtvalue
                                                 
end