Jeg har noget kogebogs tekst jeg skal have lavet noget link på, til en intern (hjælpe) søgefunktion..
eks: Blæksprutterne bankes og skæres i grove stykker. Olivenolien kommes i en tykbundet gryde, hvor hvidløg, timian, løg og chili tilsættes. Når olien er varm, kommes blæksprutterne i og sauteres af. Tilsæt hvidvin, og lad det koge ind til det halve. Befri tomaterne for skind, og skær dem i grove stykker. Kom tomaterne i gryden, og lad det småsimre i ca. 20 min. Retten smages til med koldt smør, salt og peber samt den friskhakkede basilikum og oregano. Serveres evt. med bulgur ved siden af.
Alle ord skal så blive til et link eks: <a href=/search.asp?item=Blæksprutterne">Blæksprutterne</a> <a href=/search.asp?item=bankes">bankes</a> <a href=/search.asp?item=skæres">skæres</a> <a href=/search.asp?item=grove">grove</a> ovs.
Meennn ord som "i på ved en under af evt." skal ikke blive til links, da de er for alm. til søgninger
Er der en der ved hvordan denne skæres med RegExp
Jeg skal lige nævne at tekterne kan være meget lange, så jeg ved ikke om det er en fordel at bruge arrays når der skal replaces ?
Det er ikke nogen stor hjælp at jeg så kan give dig en kode i PHP, der ser ud til at løse dit problem. Jeg ved ikke hvordan man gør det på samme måde i ASP. Men her er den:
<?
$t="Blæksprutterne bankes og skæres i ... ved siden af.";
Jeg har her prøvet på at oversætte det fra PHP til ASP:
<% dim t, no, i t = "Blæksprutterne bankes og skæres i grove stykker. Olivenolien kommes i en tykbundet gryde, hvor hvidløg, timian, løg og chili tilsættes." no = Array("i","ved","av")
Function InArray(strValue) ' InArray funktionen, der checker om ordet findes i arrayen For i = 0 to UBound(no) If selCriteria(i,1) = cstr(strValue) Then InArray = TRUE Exit Function End If Next InArray = FALSE End Function
function f(ord) ord2 = LCase(ord) if InArray(ord2) then f = ord else f = "<a href=""/search.asp?item=" & Server.URLEncode(ord2) & ">" & ord & "</a>" end if end function %>
Noget jeg ikke helt forstår (kan ikke finde ud af RegExp), er denne linie:
Hivs jeg kunne få at vide, hvad RegExp'en gør her (ud over at "printe" værdierne), kan jeg måske oversætte den.. jeg skal bare have forklaring "på skrift" (step by step).. :-)
If nocase = arrExceptions(i) Then linkok = False Exit For End If Next
If linkok Then f = "<a href=""/search.asp?item=" & str & """>" & str & "</a>" Else f = str End If End Function
str = "Blæksprutterne bankes og skæres i grove stykker. Olivenolien kommes i en tykbundet gryde, hvor hvidløg, timian, løg og chili tilsættes. Når olien er varm, kommes blæksprutterne i og sauteres af. Tilsæt hvidvin, og lad det koge ind til det halve. Befri tomaterne for skind, og skær dem i grove stykker. Kom tomaterne i gryden, og lad det småsimre i ca. 20 min. Retten smages til med koldt smør, salt og peber samt den friskhakkede basilikum og oregano. Serveres evt. med bulgur ved siden af."
Set re = New RegExp re.Global = True re.IgnoreCase = True re.Pattern = "([a-zA-ZæøåÆØÅ]+)"
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.