Markera <b>sökt</b> text

ASP

15 svar · 432 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Trådstart#1

Har sökt och kollat och letat med ljus och lykta efter ett grej som markerar upp den sökta texten med <B>.
RegExp, replace osv men hittar inget exempel som skulle kunna passa i en sökfunktion! Har någon någon aning (nån, någon...)
Det finns säkert 1000 sätt, men jag hittar inget!

//Mvh Jesper

Medlem sedan dec. 200012 464 inlägg
#2
str = replace(str,search,"<b>" & search & "</b>",1,-1,vbTextCompare)
Medlem sedan nov. 20017 144 inlägg
#3

Kul!
Jag har bytt ut search mot Query, är det fel eller rätt?
Och var skall jag stoppa den?


str = replace(str,Query ,"<b>" & Query & "</b>",1,-1,vbTextCompare)

Det händer inget!!

MVH Jesper

[Redigerat av Jesper T den 14 jan 2002]

Medlem sedan dec. 200012 464 inlägg
#4

Om du skriver ut resultatet då

response.write str

Om query är rätt eller fel kan jag inte säga något om utan att se mer av din kod.

Medlem sedan nov. 20017 144 inlägg
#5

Ser ut så här:


     <%
		Set Conn = Server.CreateObject("ADODB.Connection")
		Set Rs = Server.CreateObject("ADODB.Recordset")
        Conn.Open "DBQ=" & Server.Mappath("search.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
    
		SQL = "SELECT * FROM Items WHERE Name like '%" & Query & "%' or Description like '%" & Query & "%'"
		rs.Open SQL, Conn
		str = replace(str,Query ,"<b>" & Query & "</b>",1,-1,vbTextCompare)

		

		x = 0
		For x = 1 to 9999
		If rs.eof then
        If x = 1 Then
        Response.Write "Sökningen gav inget resultat!<BR>"
		
       End If
		Exit For
		 
		Else

		ImageURL = rs("ImageURL")
		ImageURL = "<img src='../../db/items/" & ImageURL & "'>"
		str = replace(str,Query ,"<b>" & Query & "</b>",1,-1,vbTextCompare)
	   %>
      </font> 
      <table width="520" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td width="152" align="right" valign="middle" height="19"> 
            <div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Varu 
              namn&nbsp;</font></div>
          </td>
          <td width="448" height="19"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
            <% response.write rs("Name")
			response.write str %>

            </font></td>
        </tr>
        <tr> 
          <td width="152" align="right" valign="middle"> 
            <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Beskrivning</font></div>
          </td>
          <td width="448"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
            <%response.write str 
			response.write rs("Description")%>
            </font></td>

Ungefär i den stilen.

Noll och nix, händer inget, men jag är väl förstås ute och cyklar!

Medlem sedan dec. 200012 464 inlägg
#6
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.Mappath("search.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"

SQL = "SELECT * FROM Items WHERE Name like '%" & Query & "%' or Description like '%" & Query & "%'"
rs.Open SQL, Conn

x = 0
For x = 1 to 9999
If rs.eof then
If x = 1 Then
Response.Write "Sökningen gav inget resultat!<BR>"

End If
Exit For

Else

ImageURL = rs("ImageURL")
ImageURL = "<img src='../../db/items/" & ImageURL & "'>"

%>
</font> 
<table width="520" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td width="152" align="right" valign="middle" height="19"> 
<div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Varu 
namn </font></div>
</td>
<td width="448" height="19"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
<% 
response.write replace(rs("Name"),Query ,"<b>" & Query & "</b>",1,-1,vbTextCompare)
%>
</font></td>
</tr>
<tr> 
<td width="152" align="right" valign="middle"> 
<div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Beskrivning</font></div>
</td>
<td width="448"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> 
<%
response.write replace(rs("Description"),Query, "<b>" & Query & "</b>",1,-1,vbTextCompare)
%>
</font></td>
Medlem sedan nov. 20017 144 inlägg
#7

Ja då, ja då, jaaaaaaaaaaaa

Medlem sedan nov. 20017 144 inlägg
#8

Det ser ju riktigt <b>snyggt</b> ut också!!

Tack!!//Jesper

Medlem sedan nov. 20011 551 inlägg
#9

hej
kort tilläggsfråga: om jag i min sökmotor söker på 900 får jag t ex träff på SS-EN 9001, kan jag med relativt enkla medel då skriva ut det såhär SS-EN <b>900</b>1 blablabla
*undrande*

Medlem sedan dec. 200012 464 inlägg
#10

Det är så det blir.

Medlem sedan nov. 20011 551 inlägg
#11

hehe, den som testar skall se fungerande saker sa nån =)

tack tack

Medlem sedan jan. 2001188 inlägg
#12

str = replace(str,Query ,"<b>" & Query & "</b>",1,-1,vbTextCompare)

Vad står 1 , -1 och vbTextCompare för? Det fungerar ju lika bra utan...

Medlem sedan dec. 200012 464 inlägg
#13

1 är startposition
-1 betyder att man skall byta alla förekomster
vbTextCompare innebär att man inte är skiftlägeskänslig

Om du har sökt efter "apa" och hittar "Apa" i databasen så fungerar det med att göra bold även i detta fall. Om du utelämnar vbTextCompare så kommer replace inte att hitta "Apa"

Medlem sedan jan. 2001188 inlägg
#14

Ah, goodie. Men när replace nu hittar även Apa, så byter den fortfarande ut det mot <b>apa</b> (alltså tar den bort att Apa har stort a när det skrivs ut). Finns det något lätt sätt att få Apa att ha kvar sitt stora a? :)

Medlem sedan dec. 200012 464 inlägg
#15

Nja, inte så där rakt av men det går (naturligtvis). Du måste använda regular expressions och utnyttja samlingen matches.

Medlem sedan maj 200010 687 inlägg
#16

TextCompare är inte så bra i den koden.
Söker man på asp och ASP hittas så kommer <b>asp</b> skrivas i koden. :l

Så här har jag skrivit på ett ställe. Inte så väldans bra heller, men lite bättre enligt mig.

str = replace(str,Query ,"<b>" & UCase(Query) & "</b>",1,-1,vbTextCompare)

Det hittade ordet blir alltid skrivet med versaler då...

Ah! Missade det två sista inläggen. :r

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)