Avatar billede wzarlon Nybegynder
03. september 2003 - 18:30 Der er 8 kommentarer og
2 løsninger

Afluse kode

Hej

Jeg tager chancen i denne kategori, da der nok sidder en med et forslag i VBscript. (Javascript kan dog sagtens bruges)

Jeg skal afluse et databaseudtræk, som består af html koder og tekst.

FRA:
<P align=left>Oprindeligt var "Bla blka bla bla bla" (xxx) titlen på et bla bla, som havde til formål at <EM>bla bla bla</EM>, <EM>gennemføre</EM> og <EM>evaluere</EM> større og mindre bla bla<BR>, som tilsammen skulle bla bla<HR><SPAN>blalbla bla</SPAN>

TIL:

Oprindeligt var "Bla blka bla bla bla" (xxx) titlen på et bla bla, som havde til formål at bla bla bla, gennemføre og evaluere større og mindre bla bla, som tilsammen skulle bla bla blalbla bla

Anyone got the key to my problem?
Avatar billede netro Nybegynder
03. september 2003 - 18:40 #1
Prøv lige dette;

Function Aflus(Streng)
  Set regEx = New RegExp
  regEx.Pattern = "(<)[^\>]{1,}(>)"
  regEx.IgnoreCase = True
  regEx.Global = True
  Set Matches = regEx.Execute(Streng)
  For Each Match in Matches
      Streng = Replace(Streng, Match.Value, "")
  Next
  Aflus = Streng 
End Function

Streng = "<P align=left>Oprindeligt var ""Bla blka bla bla bla"" (xxx) titlen på et bla bla, som havde til formål at <EM>bla bla bla</EM>, <EM>gennemføre</EM> og <EM>evaluere</EM> større og mindre bla bla<BR>, som tilsammen skulle bla bla<HR><SPAN>blalbla bla</SPAN>"

Response.Write Aflus(Streng)
Avatar billede wzarlon Nybegynder
03. september 2003 - 18:55 #2
Virker perfekt.
Kan nu se at jeg også skal afluse &nbsp;

hvordan tilføjer jeg den til pattern?
Avatar billede thesurfer Nybegynder
03. september 2003 - 19:08 #3
skal scriptet fjerne selve html koden (det der står mellem < og >) ELLER virningen af html koden, dvs så der stadig står <b>fed</b>, MEN ordet "fed" står normalt (altså IKKE med fed) ?
Avatar billede wzarlon Nybegynder
03. september 2003 - 19:11 #4
Jeg skal bruge det som description i mine metatags. Så det er koderne jeg skal finde og fjerne. Eksempel følger:

sideid1=request("id")
        Set rsmeta = Server.CreateObject("ADODB.Recordset")
typeid1=3
rsmeta.Open "select * from sideindhold WHERE (sideid = '" & sideid1 & "') and (type = '"& typeid1&"') order by id" , StrConn
if rsmeta.EOF then
%>
<meta name="DESCRIPTION" content="Blab bla bla bla bla bl a bla bla .">
<%
else
dim indhold, regex, matches, match
Function Aflus(Streng)
  Set regEx = New RegExp
  regEx.Pattern = "(<)[^\>]{1,}(>)"
  regEx.IgnoreCase = True
  regEx.Global = True
  Set Matches = regEx.Execute(Indhold)
  For Each Match in Matches
      Indhold = Replace(Indhold, Match.Value, "")
  Next
  Aflus = Indhold
End Function

indhold = rsmeta("indhold")
indhold = left(Aflus(Indhold),150)
%>
<meta name="DESCRIPTION" content="<%=indhold%>">
<%end if%>
Avatar billede squashguy Nybegynder
03. september 2003 - 19:36 #5
function aflus(str)
    set regex = new RegExp
    regex.Global = true
    regex.Pattern = "<[^>]*>"
    str = regex.Replace(str, "")
    str = Replace(str, "&nbsp;", " ")
    aflus = str
end function
Avatar billede wzarlon Nybegynder
03. september 2003 - 19:50 #6
squashguy og netro:
Giv lige et svar begge to. Den virker som den skal nu
Avatar billede netro Nybegynder
03. september 2003 - 19:56 #7
Fint...
Avatar billede squashguy Nybegynder
03. september 2003 - 20:29 #8
ok
Avatar billede wzarlon Nybegynder
04. september 2003 - 12:16 #9
Fino.
Tak for den hurtige hjælp
Avatar billede wzarlon Nybegynder
04. september 2003 - 18:30 #10
Hvis i stadig er med.
Jeg skal også fange den kode for carrier return som laves, men ikke kan ses normalt. (I min editor kan man slå "show tabs and spaces" til.) Det er disse tabs jeg hentyder til.

Har i en ide til at fange den?
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