Avatar billede myztic Nybegynder
10. oktober 2003 - 08:41 Der er 3 kommentarer og
2 løsninger

Invalid use of Null:

Jeg får følgende ffejl

Invalid use of Null: 'replace'

/sss/n_search.asp, line 41

Fejlen kommer i denne funktion:

Function markitup(f_content, s_word)
Dim f_startposition, loopcounter
Dim f_contain, f_length

    f_length = Len(s_word)
    f_startposition = 1

  Do while loopcounter <> 1
    If f_startposition = "" Then f_startposition = 1
    f_startposition = InStr(f_startposition, f_content, s_word, 1)
    If f_startposition = 0 Then
      loopcounter = 1
    Else
      f_contain = Mid(f_content, f_startposition, f_length)
    *41* f_content = replace(f_content, f_contain, "<font class=bmajor>[" & f_contain & "]</font>")

      f_startposition = f_startposition + 1
    End if
  Loop
response.write f_content
End Function

------------------
f_content indeholder en masse text
s_word er et søgeord.
*41* er ikke i koden, det har jeg sat ind, det er linie 41.

Det er en funktion jeg har experimenteret med, som en universal text-replacer (så man kan gøre de ord der er søgt på fed.)

jeg har forsøgt at udskrive de forskellige variabler og syntes at jeg finder data i dem allesammen.

-Nogen der kan hjælpe?
Avatar billede cool_casper Nybegynder
10. oktober 2003 - 09:02 #1
Hmmm.... hvorfor lave loops?
Du kan jo nøjes med kun at gøre replace:

f_content = replace(f_content, s_word, "<font class=bmajor>[" & s_word & "]</font>")

Eller det mig der er rusten? :o)
Avatar billede myztic Nybegynder
10. oktober 2003 - 09:06 #2
problemet ved at lave den replace er.. at hvis en person søger på:
'Car' f.eks, så markerer den alle steder hvor der står Car... men ikke de steder hvor der står car... en standard replace er ikke case sensitive - og jeg kan ikke pille i UCase og LCase pga. de ting den søger i.
Avatar billede eagleeye Praktikant
10. oktober 2003 - 09:28 #3
Hvis du har en replace og den streng du bruger kan være tom så sæt "" foran:

Så denne:
f_content = replace(f_content, f_contain, "<font class=bmajor>[" & f_contain & "]</font>")


Bliver til:
f_content = replace("" & f_content, "" & f_contain, "<font class=bmajor>[" & f_contain & "]</font>")



Så skulle du undgå fejlen hvis strengen man søger i er tom.
Avatar billede keysersoze Guru
10. oktober 2003 - 09:28 #4
du kan under ingen omstændigheder køre en replace på en tom værdi, så når du kører dit loop skal du lige inden din replace tjecke for om den værdi du er ved i loopet er tom - dvs noget a la;

if not f_content = "" then
  'replace...
end if
Avatar billede myztic Nybegynder
10. oktober 2003 - 09:42 #5
Delte lidt point ud til begge, da i kom med samme svar - problemet løste sig men så opstod et nyt ;) - script timer out, men det må jeg lige prøve at lege lidt med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester