/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Markere keywords. (caseless replace)
Fra : Ghashûl


Dato : 11-01-01 21:38

Hej!

Jeg har lavet en lille "søgemaskine".
Det jeg gerne vil er fra resultat siden at sende søgeordene til
modtager siden i en querystring og så køre en replace som sætter
<B></B> rundt om søgeordet.

Problemet er så bare hvis folk har søgt på super men i teksten står
det som Super så virker det ikke.
Findes der en caseless replace?

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

 
 
Jakob Andersen (11-01-2001)
Kommentar
Fra : Jakob Andersen


Dato : 11-01-01 21:47

Ghashûl <ghashul@ghashul.dk> skrev
> Problemet er så bare hvis folk har søgt på super men i teksten står
> det som Super så virker det ikke.
> Findes der en caseless replace?

Jeg har aldrig selv brugt det men der er en ekstra "ting" i Replace()
funktionen der hedder Compare kig i referencen på
<http://www.devguru.com/index.asp?page=/Technologies/vbscript/quickref/repla
ce.html>

Hvis du finder ud af noget må du da godt lige smide det op her...

--
Venlig hilsen
Jakob Andersen
"Det er rart at være vigtig, men det er vigtigere at være rar"



Ghashûl (11-01-2001)
Kommentar
Fra : Ghashûl


Dato : 11-01-01 22:09

On Thu, 11 Jan 2001 20:47:24 GMT, "Jakob Andersen" <jakob@andersen.as>
wrote:

>Ghashûl <ghashul@ghashul.dk> skrev
>> Problemet er så bare hvis folk har søgt på super men i teksten står
>> det som Super så virker det ikke.
>> Findes der en caseless replace?
>
>Jeg har aldrig selv brugt det men der er en ekstra "ting" i Replace()
>funktionen der hedder Compare kig i referencen på
><http://www.devguru.com/index.asp?page=/Technologies/vbscript/quickref/repla
>ce.html>
>
>Hvis du finder ud af noget må du da godt lige smide det op her...



Words = Split(Request("keywords"), " ")
For n = LBound(Words) To UBound(Words)
Lyrics = Replace(Lyrics,Words(n),"<b>" & Words(n) & "</b>",1,3,1)
Next

Eneste problem er at den indsætter det ord man søgte efter i stedet
for bare det originale ord. Altså hvis jeg søger på SuPeR og der står
super, vil der i outputtet komme til at stå SuPeR.

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Jakob Andersen (11-01-2001)
Kommentar
Fra : Jakob Andersen


Dato : 11-01-01 22:16

Ghashûl <ghashul@ghashul.dk> skrev
> Eneste problem er at den indsætter det ord man søgte efter i stedet
> for bare det originale ord. Altså hvis jeg søger på SuPeR og der står
> super, vil der i outputtet komme til at stå SuPeR.

Det er jo derfor den hedder Replace

--
Venlig hilsen
Jakob Andersen
"Det er rart at være vigtig, men det er vigtigere at være rar"



Peter Brodersen (12-01-2001)
Kommentar
Fra : Peter Brodersen


Dato : 12-01-01 01:12

On Thu, 11 Jan 2001 21:16:02 GMT, "Jakob Andersen" <jakob@andersen.as>
wrote:

>Det er jo derfor den hedder Replace

AFAIR er der mulighed for at bruge regulære udtryk i ASP. Så kan man
bare erstatte teksten med "<b>" + (det matchede) + "</b>"


--
- Pede
Professionel nørd

Ghashûl (12-01-2001)
Kommentar
Fra : Ghashûl


Dato : 12-01-01 15:38

On Fri, 12 Jan 2001 01:11:37 +0100, Peter Brodersen
<professionel@nerd.dk> wrote:

>On Thu, 11 Jan 2001 21:16:02 GMT, "Jakob Andersen" <jakob@andersen.as>
>wrote:
>
>>Det er jo derfor den hedder Replace
>
>AFAIR er der mulighed for at bruge regulære udtryk i ASP. Så kan man
>bare erstatte teksten med "<b>" + (det matchede) + "</b>"

Har du nogen anelse om hvordan det gøres eller hvor jeg kan finde ud
af det?

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Lauritz Jensen (12-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 12-01-01 15:50

"Ghashûl" wrote:
>
> On Fri, 12 Jan 2001 01:11:37 +0100, Peter Brodersen
> <professionel@nerd.dk> wrote:
>
> >AFAIR er der mulighed for at bruge regulære udtryk i ASP. Så kan man
> >bare erstatte teksten med "<b>" + (det matchede) + "</b>"
>
> Har du nogen anelse om hvordan det gøres eller hvor jeg kan finde ud
> af det?

Google siger at denne her er go':
http://msdn.microsoft.com/workshop/languages/clinic/scripting051099.asp
Men den her lyder helle ikke dårlig:
http://msdn.microsoft.com/scripting/vbscript/doc/reconIntroductionToRegularExpressions.htm
og objekt-referencen er her:
http://msdn.microsoft.com/scripting/vbscript/doc/vsobjRegExp.htm

Det du gerne vil er nok:
Function ReplaceTest(S, Pat)
Dim re
Set re = New RegExp
' Un-escape Pat
re.Pattern = "([\?\*\+\.\|\{\}\\\[\]\(\)])"
re.IgnoreCase = True
Pat = re.Replace(Pat, "\\$1")
' Udfør
re.Pattern = "(" & Pat & ")"
re.IgnoreCase = True
ReplaceTest = re.Replace(S, "$1")
End Function

--
Lauritz

Ghashûl (12-01-2001)
Kommentar
Fra : Ghashûl


Dato : 12-01-01 17:41

On Fri, 12 Jan 2001 15:50:02 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:

<snip RegEXP ting>

Jeg må tilstå at jeg fatter cirka Q af hvad der står på de sider.
Når jeg bruger dit script kommer det hele ud uændret, af en eller
anden grund.

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Lauritz Jensen (12-01-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 12-01-01 17:58

"Ghashûl" wrote:
>
> On Fri, 12 Jan 2001 15:50:02 +0100, Lauritz Jensen
> <lauritz2@hotmail.com> wrote:
>
> <snip RegEXP ting>
>
> Jeg må tilstå at jeg fatter cirka Q af hvad der står på de sider.
> Når jeg bruger dit script kommer det hele ud uændret, af en eller
> anden grund.

Det er da fordi jeg istedet for :
ReplaceTest = re.Replace(S, "$1")
skulle have skrevet:
ReplaceTest = re.Replace(S, "<b>$1</b>")

--
Lauritz

Ghashûl (12-01-2001)
Kommentar
Fra : Ghashûl


Dato : 12-01-01 18:26

On Fri, 12 Jan 2001 17:57:46 +0100, Lauritz Jensen
<lauritz2@hotmail.com> wrote:

>"Ghashûl" wrote:
>>
>> On Fri, 12 Jan 2001 15:50:02 +0100, Lauritz Jensen
>> <lauritz2@hotmail.com> wrote:
>>
>> <snip RegEXP ting>
>>
>> Jeg må tilstå at jeg fatter cirka Q af hvad der står på de sider.
>> Når jeg bruger dit script kommer det hele ud uændret, af en eller
>> anden grund.
>
>Det er da fordi jeg istedet for :
> ReplaceTest = re.Replace(S, "$1")
>skulle have skrevet:
> ReplaceTest = re.Replace(S, "<b>$1</b>")

Selvfølgelig.
Fatter ikke hvordan jeg ikke kunne se det ;)

Tusind tak for hjælpen!

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Ghashûl (12-01-2001)
Kommentar
Fra : Ghashûl


Dato : 12-01-01 18:33

On Fri, 12 Jan 2001 18:26:18 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>>Det er da fordi jeg istedet for :
>> ReplaceTest = re.Replace(S, "$1")
>>skulle have skrevet:
>> ReplaceTest = re.Replace(S, "<b>$1</b>")
>
>Selvfølgelig.
>Fatter ikke hvordan jeg ikke kunne se det ;)
>
>Tusind tak for hjælpen!

Hmm, den virker kun på den første forekomst af søgeordet

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Ghashûl (12-01-2001)
Kommentar
Fra : Ghashûl


Dato : 12-01-01 18:44

On Fri, 12 Jan 2001 18:33:15 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>On Fri, 12 Jan 2001 18:26:18 +0100, Ghashûl <ghashul@ghashul.dk>
>wrote:
>
>>>Det er da fordi jeg istedet for :
>>> ReplaceTest = re.Replace(S, "$1")
>>>skulle have skrevet:
>>> ReplaceTest = re.Replace(S, "<b>$1</b>")
>>
>>Selvfølgelig.
>>Fatter ikke hvordan jeg ikke kunne se det ;)
>>
>>Tusind tak for hjælpen!
>
>Hmm, den virker kun på den første forekomst af søgeordet

Og jeg løste det vha re.Global = True

--
Regards Sir Ghashûl, Knight of The alt.Roundtable <><

Does it offend you that I got a friend who
knows what you've been through and says that he loves you?

Peter Brodersen (12-01-2001)
Kommentar
Fra : Peter Brodersen


Dato : 12-01-01 16:48

On Fri, 12 Jan 2001 15:37:52 +0100, Ghashûl <ghashul@ghashul.dk>
wrote:

>>AFAIR er der mulighed for at bruge regulære udtryk i ASP. Så kan man
>>bare erstatte teksten med "<b>" + (det matchede) + "</b>"
>Har du nogen anelse om hvordan det gøres eller hvor jeg kan finde ud
>af det?

Næh, for jeg fatter ikke en bjælde af ASP. Til gengæld prøvede jeg
lige at gå ind på www.activeserverpages.dk og søgte efter "regular
expressions". Og her blev der fundet en sjat. Bl.a. :

http://www.activeserverpages.dk/iishelp/jscript/htm/jsobjregexpression.htm
http://www.activeserverpages.dk/iishelp/jscript/htm/jsmthreplace.htm
http://www.activeserverpages.dk/iishelp/jscript/htm/reconintroductiontoregularexpressions.htm

Regulære udtryk er lidt af en videnskab for sig selv, men det kan
varmt anbefales at lære.

Som sagt; jeg kender intet til ASP, men følgende er hvad jeg lige får
ud fra ovenstående. Aner ikke om det er nødvendigt at tilføje mere.

<%
var re, nytekst;
var tekst = "Det bliver en KoLd vinter.\n";
re = /(kold)/ig;
nytekst = tekst.replace(re, "<b>$1</b>");
%>

Nytekst skulle nu gerne være: "Det bliver en <b>KoLd</b> vinter.\n"

.... men test det lige.


--
- Pede
Professionel nørd

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste