29. september 2001 - 18:10Der er
8 kommentarer og 1 løsning
søg og slet i text streng
Jeg vil gerne fra sortere lidt i en tekst streng fx. sNavn = request.form(\"navn\") lad os sige at sNavn indeholder: <H1>Henrik men det kunne ligeså godt være: <B>Erik</b> Nu vil jeg gerne have at jeg kun har navnet tilbage i en ny variabel fx snewNavn, er der en asp haj der kan hjælpe mig med det?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg er ude efter en metode der løber text Strengen igennem og finder < og > mit kode stykke virker bare ikke, som jeg vil men det kan være du kan se hvad jeg gør galt:
\'sætter hvad der skal ledes efter sSeekChr1 = \"<\" sSeekChr2 = \">\"
\' tager værdi fra formen, hvor der skal ledes i sNavn = request.form(\"navn\")
\'antal gange løkken skal køre tStringlaengde = Len(\"sNavn\")
\' ser om sNAvn indeholder < og hvilken position res1 = Instr(1, sNavn, sSeekChr1) \' ser om sNAvn indeholder > og hvilken position res2 = Instr(1, sNavn, sSeekChr2)
\'hvis res1 og res2 = 0 er det det samme som at ingen af tegnene blev fundet og skal herefter \'bare hoppe forbi IF sætningen, hvis res1 og res2 er forskellig fra 0 så er begge tegn fundet \' og så skal man ind i IF sætningen if res1 <> 0 and res2 <> 0 then start = res2 + 1 \'res2 er sidste > tegn position + 1 = næste tegn laengde = tStringlaengde - res2 \' antal tegn der skal med i ny variabel newsNavn = Mid(sNavn, start, laengde) \'genererer ny variabel af sNavn, start tegn, antal tegn med i variabel end if
response.write newsNavn \' output den nye variabel %>
Jeg har lavet det lidt om for dig. Det du vil er at fjerne alle html tags - dvs. noget der begynder med \'<\' og slutter med \'>\'.
Nedenstående løber en streng igennem - og hopper over alt fra og med \'<\' til den møder et \'>\'.
Det skulle løse dit problem.
<%
Function clearHTMLTags(htmlStr)
sSeekChr1 = \"<\" sSeekChr2 = \">\"
For i = 1 to len(htmlStr) If mid(htmlStr, i, 1) = sSeekChr1 Then response.write \"<BR>HIT SEEK1\" & vbCrLf Do until mid(htmlStr, i, 1) = sSeekChr2 i = i + 1 response.write \"<BR>REMOVING TAG Chr: \" & i & vbCrLf Loop Else response.write \"<BR>ADDING Chr: \" & i & \": \" & mid(htmlStr, i, 1) & \" TO NEW HTMLSTR\" & vbCrLf newHTMLStr = newHTMLStr & mid(htmlStr, i, 1) End If Next
\' Her sættes søgekaraktererne sSeekChr1 = \"<\" sSeekChr2 = \">\"
\' I denne For next løkke løbes strengen igennem en \' karakter a gangen For i = 1 to len(htmlStr) \' Er den nuværende karakter lig med søgekarakter1 If mid(htmlStr, i, 1) = sSeekChr1 Then \' Hvis ja - så loop videre i strengen indtil \' vi møder søgekarakter2 response.write \"<BR>HIT SEEK1\" & vbCrLf Do until mid(htmlStr, i, 1) = sSeekChr2 \' Vi looper en gang i = i + 1 response.write \"<BR>REMOVING TAG Chr: \" & i & vbCrLf Loop \' Nu ved vi at vi er forbi søgekarakter2 \' Tagget er atlså slut Else \' Derfor kan ingen karakterer, sim vi møder hernede, være \' en del af et tag response.write \"<BR>ADDING Chr: \" & i & \": \" & mid(htmlStr, i, 1) & \" TO NEW HTMLSTR\" & vbCrLf newHTMLStr = newHTMLStr & mid(htmlStr, i, 1) End If Next
\' Returner den modificerede streng clearHTMLTags = newHTMLStr
Jeg har lagt funktionaliteten ind i en funktion, som hedder clearHTMLTags(htmlStr)
du kalder funktionen ved at skrive:
clearHTMLTags(din htmlstreng her)
Men den returnerer en værdi, som du vil have fat i - derfor skal du sætte funktionen lig med den variabel, du vil have din streng uden tags i.
Det gør du ved at skrive:
gizomsValue = clearHTMLTags(gizomsHTMLStr)
eller mere specifikt i dit tilfælde:
sNavn = clearHTMLTags(request.form(\"navn\"))
Så er variablen sNavn sat til request.form(\"navn\") uden HTMLTags eller for den sags skyld XMLTags.
Når jeg i eksemplet har gjort det en smule anderledes, så er det fordi, at jeg ikke har nogen værdi fra formobjektet og kun har brug for at kontrollere, at alt virker som det skal i mit eksempel.
Du har ydet en stor indsats, tak for hjælpen. nu forstår jeg hele koden Mega hit Gizom
Synes godt om
Ny brugerNybegynder
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.