webForumDet fria alternativet

Visa ett visst antal hela ord.

ASP

3 svar · 245 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Hej jag har ett sökscript som söker igenom en tabell med inlägg, jag vill att när den sökta textsträngen visas så skall några ord visas före ord och några efter, typ:

Inlägget:
En massa text som någon har skrivit, som sedan ska bli genom sökt av en annan person som använder sidans sökfunktion.

Presentation av svaren, där som är sökordet:
..massa text som någon skrivit.. ..annan person som använder sidans..

Hoppas ni förstår!

Medlem sedan dec. 20003 887 inlägg
#2

Det låter som en skoj liten funktion och jag antar att du även vill ha det så att två närliggande träffar inte ska delas upp?

Text: En massa text med en hel del extra text och text, men inte bara simpel text 12 13 14
Sök: text
Resultat: En massa text med en... ...del extra text och text, men inte... ...bara simpel text 12 13...
Det orkar jag dock inte sitta och göra ;)

Men den enklare varianten har jag ett förslag på

Function GetResultText(strText, strSearch)
  Dim reObj, astrMatches, strResult
  Set reObj = New RegExp

  reObj.Global = True
  reObj.IgnoreCase = True
  reObj.Pattern = "(\S*\s){0,2}" & strSearch & "(\s\S*){0,2}"

  Set astrMatches = reObj.Execute(strText)

  For Each objMatch In astrMatches
    strResult = strResult & " ..." & objMatch.Value & "..."
  Next

  GetResultText = Replace(strResult, strSearch, "<b>" & strSearch & "</b>")
End Function

strText = "En massa text med en hel del extra text och text, men inte bara simpel text 12 13 14"

Response.Write GetResultText(strText, "text")

red.
Jag insåg just att det pattern jag angav var aningen felande (det skulle ej ha tagit sökordet om det stog som första, andra, näst sista eller sista ord), men nu är det ändrat. :) Tyvärr kvarstår dock ett problem om sökordet sitter nära inpå varandra... T.ex. blir resultaten av min kod och den textsnutten:
...En massa text med en... ...del extra text och text... ...bara simpel text 12 13...

Jag har dock givit dig en början att arbeta med ;)

Medlem sedan nov. 20014 054 inlägg
#3

Man tackar! :)

Medlem sedan dec. 20003 887 inlägg
#4

Man varsegoar! :)

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)