Avatar billede jnissen Nybegynder
07. januar 2003 - 18:10 Der er 12 kommentarer og
2 løsninger

Fjerne alt HTML

Hej

Jeg har en database med nyheder i. De nyheder indeholder html-tags. Nu er det sådan at jeg på min forside vil vise de 3 nyeste nyheder med de første 16o tegn af hver nyhed. Men når jeg gør det, viser den jo selvfølgelig også html'en. Det vil sige at hvis der er skrevet med en stor skrift, eller der er indsat et billede, vil det jo blive vist.

Så hvordan fjerner jeg alt html og kun lader teksten være?
Avatar billede pelkjaer Nybegynder
07. januar 2003 - 18:14 #1
Function RemoveHTML( strText )
    Dim RegEx
    Set RegEx = New RegExp
    RegEx.Pattern = "<[^>]*>"
    RegEx.Global = True
    strText = Replace(LCase(strText), "<br>", chr(10))
    RemoveHTML = RegEx.Replace(strText, "")
End Function
Avatar billede 2-maz Nybegynder
07. januar 2003 - 18:17 #2
left(RemoveHTML(DinVaribel), 160)
Avatar billede 2-maz Nybegynder
07. januar 2003 - 18:18 #3
viser de første 160 tegn...
Avatar billede jnissen Nybegynder
07. januar 2003 - 18:47 #4
pelkjaer -> Nu bruger jeg denne: "Left(rsnews("nyhed"),160)" , hvor skal jeg sætte navnet på din function ind?

2-maz -> Jeg kan ikke helt få det til at virke, hvordan sætter jeg det sammen med det jeg har i forvejen?
Avatar billede eagleeye Praktikant
07. januar 2003 - 19:20 #5
For at bruge pelkjaer's brug dette:

Response.write Left(RemoveHTML(rsnews("nyhed")),160)"

Så får du 160 karakter fri for HTML koder + det løse...


Se evt mere her og den function jeg har viderudviklet som tillader <ikke-html-tags> som det sidste.:  http://www.eagleeye.dk/asp/removehtml/default.asp
Avatar billede jnissen Nybegynder
07. januar 2003 - 19:27 #6
Nu får jeg denne fejl:
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'RemoveHTML'
Avatar billede eagleeye Praktikant
07. januar 2003 - 20:44 #7
hmm der er også komer et " med..:

Response.write Left(RemoveHTML(rsnews("nyhed")),160)
Avatar billede jnissen Nybegynder
07. januar 2003 - 22:23 #8
Den havde jeg fjernet i forvejen, så det er ikke det.

Hele sætningen ser sådan ud:
<% Response.write Left(RemoveHTML(rsnews("nyhed")),160)&"......" &  "<A href='visnyheder.asp?id=" & RSnews("id")&"&menu=15'>Læs mere </A>"%>

og min forbindelse til databasen ser sådan ud:
<%
set connnews = server.createobject("ADODB.connection")
path = Server.MapPath("db.mdb")
connnews.Open "DBQ="& path &";DefaultDir="& path & ";Driver={Microsoft Access Driver (*.mdb)}"
SQLnews = "SELECT TOP 3 * FROM nyheder WHERE (now()) - (oprettetdato) <= 30  ORDER BY ID DESC"
set RSnews = Connnews.Execute(SQLnews)
%>
Avatar billede eagleeye Praktikant
07. januar 2003 - 22:44 #9
Bruger du pelkjaer's function?
Avatar billede jnissen Nybegynder
07. januar 2003 - 22:51 #10
nej jeg bruger den jeg fik af 2-maz/dig
Avatar billede jnissen Nybegynder
07. januar 2003 - 22:53 #11
Nu virker det - jeg skulle også bruge den function :-)

Tak for hjælpen alle.

eagleeye -> vil du også have point, så smid et svar.
Avatar billede eagleeye Praktikant
07. januar 2003 - 22:55 #12
Ja men det er vist mere et eks på hvordan du bruger pelkjaer function lige som min kommentar 07/01-2003 19:20:05


Du er nød til at medtager pelkjaer's function i koden. Du kan ligge den i bunden af din fil:

</html>
<% 'function her

Function RemoveHTML( strText )
    Dim RegEx
    Set RegEx = New RegExp
    RegEx.Pattern = "<[^>]*>"
    RegEx.Global = True
    strText = Replace(LCase(strText), "<br>", chr(10))
    RemoveHTML = RegEx.Replace(strText, "")
End Function

%>
Avatar billede eagleeye Praktikant
07. januar 2003 - 22:55 #13
;)
Avatar billede jnissen Nybegynder
07. januar 2003 - 23:01 #14
Ja det fandt jeg ud af :-)

Tak for hjælpen endnu en gang, det virker perfekt.
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