webForumDet fria alternativet
Logga in / Bli medlem

RegExp problem... :-(

ASP

2 svar · 202 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Trådstart#1

Jag har problem med ett pattern, tror att jag hittat det här på webforum.

function format(str)

set ore = new regexp
ore.global = true
ore.ignorecase = true
ore.pattern = "<(.*?)>"

str = ore.replace(str, "<$1>")

ore.pattern = "(\w+((-\w+)&#0124;(\.\w+))*\@[A-Za-z0-9]+((\.&#0124;-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
str = ore.replace(str, "<a href=""mailto:$1"">$1</a>")

ore.pattern = "(http://&#0124;https://&#0124;ftp://&#0124;mailto:)(\S)(\S+)"
str = ore.replace(str, "<a href=""$1$2$3"">$2$3</a>")

ore.pattern = "(www\.(\S)(\S+))"
str = ore.replace(str, "<a href=""http://$1"">$1</a>")

ore.pattern = "\[(b&#0124;u)\](.*?)\[/(b&#0124;u)\]"
str = ore.replace(str, "<$1>$2</$1>")

format = str
end function

Resultatet av texten:

hej ! [url="http://www.webforum.nu"]http://www.webforum.nu[/url]  och [url="http://www.webforum.nu"]www.webforum.nu[/url]  !

Blir:

Hej ! <a href="<a href="http://<a"><a</a> href="<a href="http://<a href="http://www.webforum.nu"">www.webforum.nu"</a>"">www.webforum.nu"">www...... Plus mera strunt.

den blir helt uppfuggad alltså. hur kan jag ändra i pattern så att det blir rätt?

hmm, webforum ändrade lite & gt; och & lt; här o där i resultatet.

Medlem sedan feb. 2001265 inlägg
#2

var det ingen som kunde det här?

Medlem sedan dec. 19996 721 inlägg
#3

Den funktionen är inte komplett, eftersom den delimiter som ska förhindra dubbelmatchningar saknas.

I detta skript finns en funktion som heter ParseURLs. Den bör fungera bättre.
http://script.webforum.nu/wf/Forum1/HTML/000093.html

253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)