Avatar billede mikevi Nybegynder
28. juni 2005 - 19:51 Der er 16 kommentarer og
1 løsning

include - HTML - URL

Hej jeg har en include.

Hvis man skriver et grimt ord skrives det ikke, alt sammen includens skyld ;D

Den bruges også til HTML, så jeg kan skrive [stor_ejer] så kommer der en stor skrift, håber i er med så langt.

Men nu jeg også have at den skal kunne tage links også nogen der kan finde ud af at lave det:

Jeg skal bruge en start kode og en "end" kode.

Koden der banner ord eks. strText = Replace(strText,"Det man nu syntes","HTML koden eller ordet der er bannet..")
Avatar billede nielle Nybegynder
28. juni 2005 - 20:25 #1
Det er desværre ikke nok med en god start- og slutkode. Da et URL jo indeholder to oplysninger:

<a href=”http://www.eksperten.dk”>Eksperten</a>

- nemlig url'et og så teksten, så må man have en eller anden form adskillelse mellem disse.

En mulighed kunne være:

[URL]http://www.eksperten.dk[]Eksperten[/URL]
Avatar billede netro Nybegynder
29. juni 2005 - 02:13 #2
Hvis ikke der kræves en anden titel på linket, kan du jo bare sige:

[URL]http://www.eksperten.dk[/URL] ->> <a href="http://www.eksperten.dk">http://www.eksperten.dk</a>

Du skal have fat i et regulært udtryk.
Avatar billede netro Nybegynder
29. juni 2005 - 02:24 #3
Mon ikke, at følgende vil virke?

Set regEx = New RegExp
regEx.Pattern = "([url])[\w\W]{8,}([/url])"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strText)
For Each Match In Matches
    Link = Replace(Replace(Match.Value, "[url]", ""), "[/url]")
    strText = Replace(strText, Match.Value, "<a href=""" & Link & """ target=""_blank"">" & Link & "</a>")
Next
Avatar billede netro Nybegynder
29. juni 2005 - 02:26 #4
Rettelse..

Link = Replace(Replace(Match.Value, "[url]", ""), "[/url]", "")
Avatar billede nielle Nybegynder
29. juni 2005 - 06:19 #5
netro> Det er ASP.NET kode og det vil ikke virke i en ASP-løsning. Til trods for navne-sammenfaldene er ASP og ASP.NET to vidt forskellige ting og må ikke forveksles med hinanden.
Avatar billede netro Nybegynder
29. juni 2005 - 15:13 #6
RegExp er da bare et objekt under VB-script?
Avatar billede nielle Nybegynder
29. juni 2005 - 18:14 #7
netro> Du har ret - jeg var lidt vel hurtig nok der. :^(

Desværre er der stadig et par fejl i din kode, og den kan også laves mere med den Replace der høre til RegEx:

Dim regEx
Set regEx = New RegExp
regEx.Pattern = "\[url\](.+?)\[/url\]"
regEx.IgnoreCase = True
regEx.Global = True
strText = regEx.Replace(strText, "<a href=""$1"">$1</a>")

I midlertid tror jeg at mikevi faktisk gerne vil hav både url og tekst og så dure det jo ikke at jøre det på den måde. Hvis det f.eks. ender med det foreslag som jeg gav i første omgang så kan det opnås med:

Dim regEx
Set regEx = New RegExp
regEx.Pattern = "\[url\](.+?)\[\](.+?)\[/url\]"
regEx.IgnoreCase = True
regEx.Global = True
strText = regEx.Replace(strText, "<a href=""$1"">$2</a>")
Avatar billede netro Nybegynder
29. juni 2005 - 20:19 #8
Ja, den er lidt mere elegant.
Avatar billede netro Nybegynder
29. juni 2005 - 20:22 #9
Kommer linket egentlig ikke til at indeholde [url] og [/url] med den pattern?
Avatar billede nielle Nybegynder
29. juni 2005 - 20:53 #10
Nej, for alt det som matcher mønsteret - dvs. også [url] og [/url] - bliver nemlig erstattet med $1 (som jo indeholder det som er i parentesen).

Læg i øvrigt mærke til det lille spørgsmålstegn i (.+?). Det gør at matchningen ikke er grådig. Det var en af de fejl du har; Din løsning ville forsøge at arbejde med *alt* mellem det allerførste [url] og det allersidste [/url] – hvilket jo er et problem hvis der er mere end et [url]-[/url] par i teksten.
Avatar billede netro Nybegynder
30. juni 2005 - 00:49 #11
Ja, den var ikke helt gennemtænkt. Så burde den nok hedde "([url])(^[/url]){8,}([/url])" - eller noget i den stil. Men din er smartere.
Avatar billede nielle Nybegynder
30. juni 2005 - 06:48 #12
netro> Det er vigtigt at du husker at escape '[' og ']' idet "[url]" ellers bliver fortolket som "et af tegnene u, r eller l".
Avatar billede mikevi Nybegynder
05. juli 2005 - 09:39 #13
Det virker ikke.
Avatar billede netro Nybegynder
05. juli 2005 - 14:53 #14
Kunne du være lidt mere specifik?
Avatar billede mikevi Nybegynder
07. juli 2005 - 22:57 #15
Jamen altså alle de koder i giver mig virker ikke. Den skriver bare noget tekst i stedet for. Teksten er den kode jeg skal bruge for at frembringe den URL kode.
Avatar billede mikevi Nybegynder
24. juli 2005 - 16:59 #16
Fint i giver ikke en lyd.
Avatar billede netro Nybegynder
24. juli 2005 - 17:07 #17
Hvis du ikke bruger flere ord, er det svært at hjælpe. Hvilken kode brugte du? Hvad var input? Hvad var output? Hvordan skal URL-koden se ud?
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