Tja Generellt så brukar jag "koda upp" en url eller liknande då jag matar in i databasen eftersom det är enklare och dessutom kan man då upplysa sin användare om denna gjort ngt fel. man kan inte använda sig av replace på något sätt? Sök i tips&trix så ska det finnas någon om hur man kan plocka ut url'en om jag inte mins helt fel... Hur använder jag detta? Så här borde det bli:html från databas
Om jag via ett formulär skriver in en text och mitt i texten lägger jag in "http://www.pellesoft.nu". Texten sparas som PM i en Access databas.
När jag hämtar texten där den ska presenteras (genom text=rs("texter")) så vill jag att där jag skrev urlen att det ska bli som en länk.
Går detta att fixa?
En annan sak är tex om man vill att mitt i en texten att ett ord ska vara kursivt eller i fetstil, hur gör jag detta?
kort sagt så vill jag skriva in html kod i en databad och hämta det som kod inte text.Sv: html från databas
Det simplaste sättet är att bara loopa igenom det inskrivnin och leta efter det som du vill hitta (t ex en url). Den är ganska lätta att hitta eftersom den oftast börjar med http:// (nån som surfar archie eller gopher numera?).
<code>
for i = 0 to len(intext) - 1
if mid(intext,i,7) = "http://" then
' Hittar en url
' Försök hitta slutet genom att leta efter mellanslag
' Mata ulr-strängen i en funktion som kodar upp url:en med <a href>
' Räkna upp "i" till slutet av url:en.
end if
Next i
</code>
Torrkodat så att det är knastertorrt men kanske det ger dig en idé om hur det kan gå till
//Mikael.NETSv: html från databas
för skriver man in ett "<" i formuläret så gör den ju om det till &glt; lr ngt liknande...Sv: html från databas
Sv: html från databas
<code>
function parseHTML(tmp)
dim st,sl,link,nlnk
Dim regex
Set regex = new RegExp
regex.Pattern = "[\w\/\.\:\~\?\&]"
st = 1
do until st = len(tmp)
st = InStr(st,tmp,"http://")
if isnull(st) or st=0 then
exit do
end if
For sl = st to len(tmp)
If not regex.test(mid(tmp,sl,1)) then
exit for
End If
Next
link = mid(tmp,st,sl-st)
nlnk = "" & link & ""
tmp = Replace(tmp,link,nlnk)
st = st + len(nlnk)
loop
parsehtml = tmp
end function
</code>Sv: html från databas
<code>
function parseHTML(tmp)
dim st,sl,link,nlnk
Dim regex
Set regex = new RegExp
regex.Pattern = "[\w\/\.\:\~\?\&]"
st = 1
do until st = len(tmp)
st = InStr(st,tmp,"http://")
if isnull(st) or st=0 then
exit do
end if
For sl = st to len(tmp)
If not regex.test(mid(tmp,sl,1)) then
exit for
End If
Next
link = mid(tmp,st,sl-st)
nlnk = "" & link & ""
tmp = Replace(tmp,link,nlnk)
st = st + len(nlnk)
loop
parsehtml = tmp
end function
response.write parseHTML("http://www.pellesoft.nu")
</code>
mvh Stefan