Url-tag och smileys i ett forum (asp)

Permalänk
Medlem

Url-tag och smileys i ett forum (asp)

Jag har ett forum där det bland annat går att använda sig av taggar för att formatera text m.m.

Tex

[url.="http://www.sweclockers.com"]länk[/url.]
[b.]fetstil[/b.]

etc, dock utan punkterna såklart.

och att och byts ut till en bild.

När man skapar en länk med url-taggen så ersätts [url=" med <A HREF=" osv. med Replace-kommandot i ASP så att det i forumet skrivs ut som en vanlig html-länk.
Problemet är att jag använder samma funktion, dvs replace, som letar igenom hela texten och ersätter och med en bild på en gubbe istället.
Innehåller url-adressen eller byts det ut mot en bild mitt i adressen vilket gör att hela länkuppbyggnaden blir fel och oftast försörs hela forum strukturen som resultat.

Går det att göra på något sätt att texten som är inuti en url-tag inte genomsöks med replace-kommandot?

Visa signatur

// Martin

Permalänk
Hedersmedlem

Inte riktigt en lösning på ditt problem, men om jag fattar det rätt så använder du Replace() för att få denna funktion? Ta en titt på Regular Expressions istället.

Visa signatur

Är du lycklig nu?

Frågor och funderingar angående modereringen tas med mail, inte genom forumet. dennizpop@sweclockers.com

Permalänk
Medlem

Använd regexp så kan du specifiera lite mer nogrannt hur det som den ska bytas ut får se ut.

edit: Argh

Permalänk
Medlem

Om du bara ersätter utan regular expressions så kan folk kanske skriva

[.url=blabla"> Valfri HTML!]Länk[/url]
[.url=http://www.sajt.com" onload="ond.kod()]Länk[/url]

och sånt, vilket inte är så kul.

Permalänk
Medlem

Antar att du kör Jscript. Detta borde väl fungera isåfall. Tar dock inget ansvar på den för jag har inte möjlighet att prova för tillfället.

var str = "Här finns användarens data"; str = str.replace(/\[url\=(.+?)\](.+?)\[\/url\]/gi, "<a href="$1">$2</a>"); str = str.replace(/\s\:\)/g, "<img src="/images/smiley.png");

Visa signatur

This is a UNIX virus. Please remove all your files and copy this message to friends.
(Citera mig om du förväntar dig svar)

Permalänk
Medlem

vem har paranteser i en url?

Visa signatur

Ehhh...
...öhhhh

Permalänk
Medlem

Kanske inte så vanligt med paranteser men :/ händer väll att man skriver ibland.

Visa signatur
Permalänk
Medlem

Om man kör nån motsvarighet till PHPs urlencode() på allt som matchar mönstret för länkar, så borde alla länkparenteser ersättas med andra tecken, och det är fritt fram att köra nästa mönstermatchning.

zeth: Vad gör ".+?"? Jag vet vad ".+" gör och vad "?" gör, men kombinationen? Samma som ".*"?

Permalänk
Medlem

Malesca: Har för mig att ett frågetecken på en sådan plats gör satsen "ogirig", dvs den plockar så små bitar som möjligt istället för så stora som den kan.

Permalänk
Medlem

Ah. Ja, det låter vettigt, speciellt som regexpen i övrigt inte verkar ha något "girighetsskydd".