webForumDet fria alternativet

[b][/b][i][/i] hurdå?

ASP

29 svar · 989 visningar · startad av M.Cheraghi

Medlem sedan juli 20015 107 inlägg
Frågan#1

Tjenna jag håller på att bygga en sida o varje person har en profil!... men som sagt.. jag vill av naturliga skäl INTE tillåta plain html! och om man totalt förbjuder det blire så jävla tråkigt.. trista profiler..

d tänkte jag att här på webforum kan man juhe använda sej av [b ][/b ] och typ [/color ]

okej okej självaste grejjen att byta ut **mot <b> i asp e inte svrt... men hur gör man för at få en sådan perfekt kod?

så att om man skriver så här och inte avslutar taggen

[b ] Hej Hej

så blir utskriften "[b ] Hej Hej"

medans om man skriver

[B ] Hej Hej [/B ]

så blir utskriften "Hej Hej" i tjocka bokstäver =)**

Medlem sedan jan. 20032 285 inlägg
#2
Set RegExp = New Regexp

With RegExp
  .IgnoreCase = True
  .Global = True
  .Pattern = "\[b\]((.|\s)*)\[/b\]"
End With

strFoo = RegExp.Replace(strFoo, "<b>$1</b>")
Set RegExp = Nothing

Kolla igenom Vide's Regular Expressions-artikel på https://www.webeye.nu :)

Medlem sedan juli 20015 107 inlägg
#3

Tacar Tackar =)

Medlem sedan juli 20015 107 inlägg
#4

Sebbe skrev:

Set RegExp = New Regexp

With RegExp
  .IgnoreCase = True
  .Global = True
  .Pattern = "\[b\]((.|\s)*)\[/b\]"
End With

strFoo = RegExp.Replace(strFoo, "<b>$1</b>")
Set RegExp = Nothing

Kolla igenom Vide's Regular Expressions-artikel på https://www.webeye.nu :)

Okej.. läst igenom vide's sidan nu.. men satan vad svårt det verkade..!!

Låt oss säga att man göra om koden du postade.. till att. om man har hej hej [/color ] så blir den blåå lixom =)

Medlem sedan maj 200010 687 inlägg
#5

RegExp är ganska enkelt när man lärt sig syntaxen...

Så här skulle du väl kunna skriva...

Set RegExp = New Regexp

With RegExp
  .IgnoreCase = True
  .Global = True
  .Pattern = "\[color=""(.*?)""\]([\s\S]*)\[/color\]"
  strFoo = .Replace(strFoo, "<span style=""color: $1;"">$2</span>")
End With

Set RegExp = Nothing
Medlem sedan juni 20019 519 inlägg
#6

Sebbe skrev:

Set RegExp = New Regexp

With RegExp
  .IgnoreCase = True
  .Global = True
  .Pattern = "\[b\]((.|\s)*)\[/b\]"
End With

strFoo = RegExp.Replace(strFoo, "<b>$1</b>")
Set RegExp = Nothing

Kolla igenom Vide's Regular Expressions-artikel på https://www.webeye.nu :)

jag hade kanske gjort så här:

Set RegExp = New Regexp

With RegExp
  .IgnoreCase = True
  .Global = True
  .Pattern = "\[(b|i|u)\]((.|\s)*)\[\/(b|i|u)\]"
End With

strFoo = RegExp.Replace(strFoo, "<$1>$2</$3>")
Set RegExp = Nothing

fast koden blir då inte 100% för då räcker det att man skriver hej och då kör koden ändå

Medlem sedan juli 20015 107 inlägg
#7

Okej. men sannorlikheten är juhe inte allt för stor att folk skriver fel :P hehe

Men om man nu skapar ett Text fält och skriver i fältet "Hejsan Svejsan, mitt namn är [b ]Nils Karlsson Pyssling[/b ]"

så kommer Nils Karlsson Pyssling bli "Boldat" medans resten är normalt som förut!

och allting finns i variabeln STRFOO, som jag använder när t.ex databasen skall uppdateras med nya värdena!

men jag har inte kommit i underfund med vartifrån värderna skall komma? finns juhe ingen request.form eller nått liknande

MVH

sen tänkte jag om man skapar flera regexp som i tur o ordning redigerar texten, t.ex första fixar Bold, den andra Italic, Den tredje under struket, den fjärde färgen, eller liknande.. altså när den första STRFOO e klar hämtar andra reg exp, den redigerade STRFOO o formaterar om den fast formaterar om nya saker..

borde väl teoretiskt sätt fungera =)

Medlem sedan dec. 20003 887 inlägg
#8

Jupp... du kan ju skapa en funktion som tar ett mönster, utbytessträng och lite text som argument och returnerar en sträng.

Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern

  ReplaceTags = objRX.Replace(strSource, strReplace)
End Function

strText = "Hej, jag är &#91;i]kursiverad&#91;/i]. Och en smula &#91;b]tjock&#91;/b]."

strText = ReplaceTags("\[b\]((.|\s)*)\[/b\]", "<b>$1</b>", strText)
strText = ReplaceTags("\[i\]((.|\s)*)\[/i\]", "<i>$1</i>", strText)

Response.Write strText
Medlem sedan juli 20015 107 inlägg
#9

Engine^ skrev:

Jupp... du kan ju skapa en funktion som tar ett mönster, utbytessträng och lite text som argument och returnerar en sträng.

Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern

  ReplaceTags = objRX.Replace(strSource, strReplace)
End Function

strText = "Hej, jag är &#91;i]kursiverad&#91;/i]. Och en smula &#91;b]tjock&#91;/b]."

strText = ReplaceTags("\[b\]((.|\s)*)\[/b\]", "<b>$1</b>", strText)
strText = ReplaceTags("\[i\]((.|\s)*)\[/i\]", "<i>$1</i>", strText)

Response.Write strText

Okej okej d var nått i den stilen jag menade.. Sorry att jag frågar en massa utan att testa själv.. men jag har inte riktigt fått igång min test server så jag kan testa allt grejjerna hopppas ni visa hänsyn till det =P hehe

men nu till grejjer igen.. då skall altså denna kod fungera bra?

Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern

  ReplaceTags = objRX.Replace(strSource, strReplace)
End Function

strText = "Hej, jag är [i]kursiverad[/i]. Och en smula [b]tjock[/b]."

strText = ReplaceTags("\[b\]((.|\s)*)\[/b\]", "<b>$1</b>", strText)
strText = ReplaceTags("\[i\]((.|\s)*)\[/i\]", "<i>$1</i>", strText)
strText = ReplaceTags("\[u\]((.|\s)*)\[/u\]", "<u>$1</u>", strText)
strText = ReplaceTags("\[blue\]((.|\s)*)\[/blue\]", "<font color=""blue"">$1</font>", strText)

Response.Write strText

eller är jag heeeeeeeelt ute och cyklar?

Medlem sedan juli 20015 107 inlägg
#10

Feltyp:
Körningsfel i Microsoft VBScript (0x800A01B6)
Objektet stöder inte egenskapen eller metoden.
/test.asp, line 4

okej nu har jag instalerat IIS på min privaa dator... trots allt :S men men

får felmess när jag kör koden ovan och rad fyra är "objRX = New RegExp"

nått man måste tänka på eller? några rättigheter eller nått sånt?

Medlem sedan dec. 20003 887 inlägg
#11

Det kan vara så att du har en för gammal scriptengine... Sök lite här på wF eller på MSDN, så kan du nog hitta en länk för att ta hem dem senaste.

Medlem sedan juli 20015 107 inlägg
#12

Engine^ skrev:

Det kan vara så att du har en för gammal scriptengine... Sök lite här på wF eller på MSDN, så kan du nog hitta en länk för att ta hem dem senaste.

okej okej ska göra det.. har WinXP pro med IIS5/6 eller vad fan man får med =) hehe =) jaja men jag ska kolla upp det där..

men altså om jag kör Chilisoft ASP? på Apache? kommer då inte regexp att fungera??

Medlem sedan dec. 20003 887 inlägg
#13

Tja du behöver version 5.0 för att kunna använda RegExp. Du kan kolla din version med

Response.Write ScriptEngineMajorVersion & "." & ScriptEngineMinorVersion
Medlem sedan juli 20015 107 inlägg
#14

okej jag har 5,6 står det!

å jag får felet objektet stöds inte =/

Medlem sedan jan. 20032 285 inlägg
#15
[b]Set[/b] objRX = New RegExp
Medlem sedan dec. 20003 887 inlägg
#16

Hrrrrmm... det kan vara så att det är *host host* jag som har missat en liten liten sak...

Set objRX = New RegExp

red.
Rackarns Sebbe till att vara snabb då... :)

Medlem sedan juli 20015 107 inlägg
#17

Engine^ skrev:

Hrrrrmm... det kan vara så att det är *host host* jag som har missat en liten liten sak...

Set objRX = New RegExp

red.
Rackarns Sebbe till att vara snabb då... :)

Vet du en sak :P

det var du som hade gjort en miss för det fungerar alldeles utmärkt.. men en fråga till om jag gkör windows 2000, med apache och chilisoft asp... kommer regexp att fungera???

Medlem sedan juli 20015 107 inlägg
#18

Hallojsan.. går lite knas för mej just nu!
jag moddar o joxar o jag har inte en blekaste om vad jag pillar på känns det som..

men jag försöker knåpa in "color" funktionen som Erik postade först, in i den kod snutten som Engine^ gjorde, å det går inte bra alls =/ hehe

<%
Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  Set objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern

  ReplaceTags = objRX.Replace(strSource, strReplace)
End Function

strText = "Hej, jag är [i]kursiverad[/i] Och en smula [b]tjock[/b] och lite lite [u]understruken[/u] och lite [color="red"]blå[/color]"

strText = ReplaceTags("\[b\]((.|\s)*)\[/b\]", "<b>$1</b>", strText)
strText = ReplaceTags("\[i\]((.|\s)*)\[/i\]", "<i>$1</i>", strText)
strText = ReplaceTags("\[u\]((.|\s)*)\[/u\]", "<u>$1</u>", strText)
[b]strText = ReplaceTags("\[color=""(.*?)""\]([\s\S]*)\[/color\]", "<span style=""color: $1;"">$2</span>", strText)[/b]

Response.Write strText
%>

får detta felmedelande

[citat]
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/test.asp, line 12, column 118
[/citat]
Medlem sedan juli 20015 107 inlägg
#19

Men nej.. detta finns inte :( hehe i flera timmar har jag testat fram å tillbaka.. å nu hittade jag felet..

strText = "Hej, jag är kursiverad Och en smula tjock och lite lite understruken och lite [color="red"]blå[/color]"

eftersom d där är en del av ASP kod ska "RED" vara Dubbeltaggat..
hehe. jaaajaa.. lyckades lösa någonting är i världen själv iaf =)

Medlem sedan dec. 20003 887 inlägg
#20

Hehe... grattis ;) :bire

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)