Jag hittade en lösning på det hela, men lyckades inte applicera det på min sida, så jag ber någon kunnig att hjälpa mig. tja, ett sätt är att utgå från http://www.pellesoft.se/area/articles/article.aspx?artid=926 och modifiera.. Har fått en lösning på det hela, men har lite strul med att få in min variabel i det hela: TestaMarkera sökta ordet...
Jag har en sökruta, där man kan skriva i ett sökord, sen skickas man till sidan där resultatet skall visas.
All info i databasen får jag fram, men jag vill att det ord man sökt skall markeras med fetstil. T ex
Un<b>de</b>r
<b>de</b>ssa
Här kommer un<b>de</b>rrubrikerna
Min kod ser ut som följer:
<code>
language = request.QueryString("lang")
search = request.Form("txtSearch")
set rs = db.execute("select * FROM tblModels where fltModel LIKE '%" & search & "%' OR fltDiamond" & language & " LIKE '%" & search & "%' OR fltGold LIKE '%" & search & "%' OR fltInfo" & language & " LIKE '%" & search & "%' ORDER BY fltModel")
</code>
<code>
<table width="100%" cellspacing="0" ID="Table2">
<tr>
<td align=center>
<table width="100%" height="10" class="rammeny" bgcolor="#000066" border="0" cellpadding="0" cellspacing="0" ID="Table3">
<tr>
<%if language = "FI" then%>
<td height="10"><font face="verdana" color="white" size="1"><b> Hakutulos</b></font></td>
<%elseif language = "SV" then%>
<td height="10"><font face="verdana" color="white" size="1"><b> Sökresultat</b></font></td>
<%elseif language = "EN" then%>
<td height="10"><font face="verdana" color="white" size="1"><b> Search results</b></font></td>
<%end if%>
<%if session("Inloggad") = true then%>
<td align=right>Log out </td><%end if%>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table class="rammeny" ID="Table4" cellpadding="3" width="100%">
<%do until rs.EOF%>
<tr>
<%if language = "FI" then%>
<td><span class="TextBold">Mallinumero:</span></td>
<%elseif language = "SV" then%>
<td><span class="TextBold">Modellnummer:</span></td>
<%elseif language = "EN" then%>
<td><span class="TextBold">Model number:</span></td>
<%end if%>
<td><span class="text"><%=rs("fltModel").value%></span></td>
<td rowspan=4 valign=top><img src="../bilder/models/<%=rs("fltModel")%>.jpg" border="1"></td>
</tr>
<tr>
<%if language = "FI" then%>
<td><span class="TextBold">Timantit:</span></td>
<%elseif language = "SV" then%>
<td><span class="TextBold">Diamanter:</span></td>
<%elseif language = "EN" then%>
<td><span class="TextBold">Diamonds:</span></td>
<%end if%>
<td><span class="text"><%=rs("fltDiamond"& language).value%></span></td>
</tr>
<tr>
<%if language = "FI" then%>
<td valign=top><span class="TextBold">Kullan pitoisuus:</span></td>
<%elseif language = "SV" then%>
<td><span class="TextBold">Guldhalt:</span></td>
<%elseif language = "EN" then%>
<td><span class="TextBold">Gold content:</span></td>
<%end if%>
<td><span class="text"><%=rs("fltGold").value%></span></td>
</tr>
<tr>
<%if language = "FI" then%>
<td valign=top><span class="TextBold">Muut tiedot:</span></td>
<%elseif language = "SV" then%>
<td><span class="TextBold">Övrig info:</span></td>
<%elseif language = "EN" then%>
<td><span class="TextBold">Other info:</span></td>
<%end if%>
<td><span class="text"><%=(Replace(RS("fltInfo"& language) & "",vbCrlf,"<BR>"))%></span></td>
</tr>
<tr>
<td colspan=3><hr color="#003366" align=left size=1></td>
</tr>
<%
rs.MoveNext
Loop
rs.Close
Set rs = Nothing%>
</table>
</td>
</tr>
</table></code>
Sökordet kan finnas på många ställen o i många fält i databasen.
Någon som kan hjälpa?Sv: Markera sökta ordet...
ett annat sätt är att du gör en regex replace på all textdata du plockar ur databasen och ersätter
sökord med <b>sökord</b>Sv: Markera sökta ordet...
<code>
Function Highlight(strText, strWord, strStartTag, strEndTag)
With New RegExp
.Global = True
.IgnoreCase = True
.Pattern = "(^|\W)(" & strWord & ")(?=$|\W)"
Highlight = .Replace(strText, "$1" & strStartTag & "$2" & strEndTag)
End With
End Function
</code>
<code>
<%=HighLight(rs("fltModel").value, "& search &" , "<b>", "</b>")%>
</code>
search är en variabel...men det går inte så här tydligen. Någon som har bättre koll på hur man skriver in en variabel?Sv:Markera sökta ordet...
<code>
<%=HighLight(rs("fltModel").value, search, "<b>", "</b>")%>
</code>