webForumDet fria alternativet

RegExp <body> tagg

ASP

11 svar · 343 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

Vill göra en liten egen sådan här body tagg.. med bl a:

<body bakgrund="färgen">

men sen ska man även kunna ha olika andra "funktioner" typ som:

<body bakgrund="färgen" fontcolor="färg" link="färg">

men den ska också kunna se ut:

<body link="färg" bakgrund="färgen" fontcolor="färg">

undra om man kan göra så att detta bör fungera... tänker något i stil med (link=(.*?)|etc) sak.. men vet inte riktigt hur jag ska lösa det

Medlem sedan juni 20019 519 inlägg
#2

ingen som har en lösning på detta???

Medlem sedan mars 20015 287 inlägg
#3

Personligen fattar jag inte ett smack av vad du vill göra. :)

Medlem sedan juni 20019 519 inlägg
#4

att man ska kunna skriva
tex:
<solbulle färg="#FFFFFF" länk="#000000">
men om du skiter i länk="#000000" så ska den ändå göra reg.exp.. du ska kunna blanda också så att länk kan skrivas före färg... som en body-tag till exempel...

Medlem sedan juni 20019 519 inlägg
#5

ingen som förstå??? jag vill ha en flexibel tagg.. så det kvittar om du skriver vilket av dom så ska det fungera ändå...

Medlem sedan dec. 19998 577 inlägg
#6

Något liknande denna funktionen?
http://www.webeye.nu/f/topic.asp?TOPIC_ID=11

Såhär kanske:
oRegExp.pattern = "<body(.*?)>"

Mvh, Vide

Medlem sedan juni 20019 519 inlägg
#7

ungefär.. fast jag vill "skapa" egna attribut.. inte typ: font="#000000" utan kanske: videfont="#000000".. sånt..

Medlem sedan dec. 19998 577 inlägg
#8

Okej, tror inte jag läste igenom din fråga riktigt.

Med koden ovan hämtar du ju bodytaggens positioner, då kan du ta den strängen och splitta upp attributen med t.ex mellanslag. Med lite stränghantering får du ut attributet (vänster om = ) och värdet (höger om = ).

Medlem sedan juni 20019 519 inlägg
#9

precis... och det är där jag sitter fast.... så all hjälp skulle sitta skönt

Medlem sedan juni 20019 519 inlägg
#10

vide:

objRegExp.Pattern = "\[body ((videbg|videtext)=(.*?))?\]"

något sånt måste det ju vara.. men hur får jag att videbg förstås att vara "background"

Medlem sedan juni 2002256 inlägg
#11

damn! gjorde några kassa funktioner till ett community som skulle göras...
detta är ju ett typiskt fall av smink-funktion...

detta handlar dock inte om <body bakgrund blabla> utan <box>, men det är inte jättesvårt att ändra...

<%
function box_checker(smink, klart)
if instr(lcase(smink), "&lt;box") <> 0 then
box_checker = box_func(smink, klart)
else
box_checker = klart&smink
end if
end function

' ##### BOX #####

function box_func(smink, done)

box_l = instr(lcase(smink), "&lt;box")
box = right(lcase(smink), len(smink)-box_l+1)

x = 0
do until box_end = "&gt;"
x = x --1
box_end = right(left(box, 4+x), 4)
	if x > len(box) OR box_end = vbcrlf then
	exit do
	end if
loop
if box_end = "&gt;" then
box_txt = left(right(smink, len(smink)-box_l+1), 4+x)
end if

' >> bakgrunds färg
if instr(lcase(box_txt), "color=") <> 0 then
col_loc = instr(lcase(box_txt), "color=")+6
col = right(box_txt, len(box_txt)-col_loc+1)
col = replace(col, "&quot;" , """")
col = replace(col, "&gt;" , ">")
z = 0
do until col_end = " " OR col_end = ">"
z = z --1
col_end = right(left(col, z), 1)
color = color&col_end
	if z > len(col) then
	exit do
	end if
loop
color = " bgcolor="&left(replace(color, " ", ""), len(color)-1)

end if

' >> ramfärg
if instr(lcase(box_txt), "border=") <> 0 then
bor_loc = instr(lcase(box_txt), "border=")+7
bor = right(box_txt, len(box_txt)-bor_loc+1)
bor = replace(bor, "&quot;" , """")
bor = replace(bor, "&gt;" , ">")
z = 0
do until bor_end = " " OR bor_end = ">"
z = z --1
bor_end = right(left(bor, z), 1)
border = border&bor_end
	if z > len(bor) then
	exit do
	end if
loop
border = left(replace(border, " ", ""), len(border)-1)
border = replace(border, """", "")
border = replace(border, "'", "")
border = " style=""border: 1 "&border&" solid;"""

end if

' >> bredd
if instr(lcase(box_txt), "width=") <> 0 then
wid_loc = instr(lcase(box_txt), "width=")+6
wid = right(box_txt, len(box_txt)-wid_loc+1)
wid = replace(wid, "&quot;" , """")
wid = replace(wid, "&gt;" , ">")
z = 0
do until wid_end = " " OR wid_end = ">"
z = z --1
wid_end = right(left(wid, z), 1)
width = width&wid_end
	if z > len(wid) then
	exit do
	end if
loop
width = left(replace(width, " ", ""), len(width)-1)

width_ = replace(width, """", "")
width_ = replace(width_, "'", "")

on error resume next
if right(width_, 1) <> "%" then
if int(width_) > 410 then
width = """100%"""
end if
end if

width = " width="&width

end if

on error resume next
if right(box_txt, 4) = "&gt;" then
klart = done&left(smink, box_l-1)&"<table"&color&border&width&"><td> "
kvar = " "&right(smink, len(smink)-box_l-(x+4)+1)
box_func = box_checker(kvar, klart)
else
klart = done&smink&" "
kvar = ""
box_func = box_checker(kvar, klart)
end if

end function

%>

hmm... gammal o kass som sagt =/

Medlem sedan juni 20019 519 inlägg
#12

måste finnas ett smidigare sätt :e

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)