Avatar billede angelenglen Nybegynder
23. januar 2007 - 21:07 Der er 6 kommentarer og
1 løsning

Fjern URL fra tekst

Jeg har et lille forum, men det er efterhånden begyndt at blive misbrugt af folk der laver en post i stil med:

<quote>
Ja, det er godt nok sjovt - se mere i samme stil her: http://www.etellerandetdomain.dk/visside.asp?yadayada
</quote>

Da jeg ikke syntes dette er så fedt, så vil jeg gerne fjerne disse links for annonnyme brugere, men jeg ved ikke hvordan jeg kan "detecte" en sådant URL.

Jeg kunne forestille mig der skal noget regular expression ind over, men det har jeg slet ikke forstand på.

Så jeg har brug for en slags funktion i stil med:
SletURLFraTekst(strTekst)
der returnerer strTekst men uden URL'er (eller evt. url'en erstattet af teksten "URL SLETTET!").

Håber i forstår hvad jeg mener.
Avatar billede madeindk Nybegynder
23. januar 2007 - 21:19 #1
<%
Function ReplaceTheText(strText)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "(www(\w|\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

ReplaceTheText = strText

End Function
%>

Og når du vil kalde funktionen gør du bare sådan her:

<%= ReplaceTheText("http://www.google.dk") %>
Avatar billede angelenglen Nybegynder
23. januar 2007 - 22:03 #2
Det ser ud til at virke rigtigt godt, dog tager den ikke "http://" delen med af en URL
Avatar billede madeindk Nybegynder
23. januar 2007 - 22:09 #3
Det burde denne her kunne løse :-)

<%
Function ReplaceTheText(strText)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "(http://(\w|\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

ReplaceTheText = strText

End Function
%>
Avatar billede madeindk Nybegynder
23. januar 2007 - 22:12 #4
Sådan her, så virker det 100%:

<%
Function ReplaceTheText(strText)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "(http://(\w|\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

objRegExp.Pattern = "(www(\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

ReplaceTheText = strText

End Function
%>
Avatar billede angelenglen Nybegynder
23. januar 2007 - 22:22 #5
endte med følgende:

Function StripURL(strText)
    Set objRegExp = New regexp
    objRegExp.Global = true
    objRegExp.IgnoreCase = true

    'fjern http://www.test.dk type url'er
    objRegExp.Pattern = "(http://(\w|\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
    strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

    'fjern www.test.dk type url'er
    objRegExp.Pattern = "(www(\w|\w|\.|/|-|\?|=|&|;|~){1,}\w*)"
    strText = objRegExp.Replace(strText,"<b>URL SLETTET</b>")

    StripURL = strText
End Function

Det er bare super - læg svar for points!
Avatar billede angelenglen Nybegynder
23. januar 2007 - 22:23 #6
hehe ok vi kom frem til det samme :-)
Avatar billede madeindk Nybegynder
23. januar 2007 - 22:25 #7
Hehe, tak for point.
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