webForumDet fria alternativet

Nått konstigt med regexp!

ASP

10 svar · 582 visningar · startad av M.Cheraghi

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

Yellow :)

Jag frågade för ett tag sedan angående RegExp här på WF hur man gör forumkod! och visst fungerade det då :)
I dags läget när jag försöker använda detta gamla script! så går det inte =/ jag får upp ett annorlunda medelande än vad jag sett förut! =( Rad 275 som är relevant är Fetmarkerad! Avmarkerar jag den med ' så kommer inget felmedelade, men då så gör inte regexp om till html heller

Error Type:
Microsoft VBScript runtime (0x800A139A)
Unexpected quantifier
/su/forum.asp, line 275

	  <%
Function ReplaceTags(strPattern, strReplace, strSource)
  Dim objRX
  Set objRX = New RegExp
  objRX.IgnoreCase = True
  objRX.Global = True
  objRX.Pattern = strPattern
  [b]ReplaceTags = objRX.Replace(strSource, strReplace)[/b]
End Function

strText = RSthread("ThreadMessage")
strText = Server.HTMLEncode(strText)
strText = ReplaceTags("\[B\](.*?)\[\/B\]", "<b>$1</b>", strText)
strText = ReplaceTags("\[I\](.*?)\[\/I\]", "<i>$1</i>", strText)
strText = ReplaceTags("\[U\](.*?)\[\/U\]", "<u>$1</u>", strText)
strText = ReplaceTags("\[IMG\](.*?)\[\/IMG\]", "<IMG SRC=""$1"" border=""0"">", strText)
strText = ReplaceTags("\[URL\](.*?)\[\/URL\]", "<a href=""$1"">$1</a>", strText)
strText = ReplaceTags("\[color=(.*?)\]([\s\S]*)\[/color\]", "<font color=""$1"">$2</font>", strText)
strText = replace(strText, vbCrLf , "<br>")

response.write strText
%>
Medlem sedan aug. 20003 575 inlägg
#2

I vilket fall som helst så borde du ta bort raden
strText = Server.HTMLEncode(strText)

För den ändrar tecken på [] och \ tror jag.

Medlem sedan juli 20015 107 inlägg
#3

Nickemannen skrev:

I vilket fall som helst så borde du ta bort raden
strText = Server.HTMLEncode(strText)

För den ändrar tecken på [] och \ tror jag.

Men tar jag bort den är det ingen vits att ha Forumkod då kan juhe folk skriva in HTML om dem vill! Koden har fungerat förut! iomed att jag kör HTML Encode innan jag gör om [] till <> borde inte dessa bli påverkade!

Medlem sedan aug. 20003 575 inlägg
#4

Japp du hade rätt jag testade och [- tecknena blir oförändrade vid en Server.HTMLEncode()

Hmmm, är du 100% säker på att RSthread("ThreadMessage") innehåller något ?

För om jag testar att lägga in en sträng med [.IMG.]blaha[./IMG.]
Så fungerar det istället för RSthread("ThreadMessage").

OBS! utan punkter då ;)

Medlem sedan juli 20015 107 inlägg
#5

Nickemannen skrev:

Japp du hade rätt jag testade och [- tecknena blir oförändrade vid en Server.HTMLEncode()

Hmmm, är du 100% säker på att RSthread("ThreadMessage") innehåller något ?

För om jag testar att lägga in en sträng med [.IMG.]blaha[./IMG.]
Så fungerar det istället för RSthread("ThreadMessage").

OBS! utan punkter då ;)

Jupp den innehåller något ;) För när jag avbockar den raden så hämtas värdet och skrivs ut. Utan att det blir ändrat av min Regexp! Men kan det vara något med rättigheterna för att få köra regexp? Kanske?

Mvh

Medlem sedan mars 20023 561 inlägg
#6

Men prova att flytta

strText = Server.HTMLEncode(strText)

tills efter du har kört strText genom ReplaceTags...?

Medlem sedan aug. 20003 575 inlägg
#7

Josef skrev:

Men prova att flytta

strText = Server.HTMLEncode(strText)

tills efter du har kört strText genom ReplaceTags...?

Men då fungerar ju inte <a href="", samt <img src="" :P.

Men testa att sätta in en annan texträng just där strText = RS(vad det nu var).

Och testa bara då ser du ju om det är rättigheter eller bara det att det inte Rs(vad det nu är) innehåller något.

Medlem sedan juli 20015 107 inlägg
#8

Josef skrev:

Men prova att flytta

strText = Server.HTMLEncode(strText)

tills efter du har kört strText genom ReplaceTags...?

Fungerar inte det heller, klagar på samma rad som är fet, har testat att tom bocka av HTML Encode, men det är samma fel där också! :(

Medlem sedan juni 200032 967 inlägg
#9

Unexpected quantifier brukar betyda att din scriptmotor är för gammal. Hämta ny från Microsoft.

Minst version 5.5 krävs för att RegExp ska funka hyggligt.

Mvh

Medlem sedan dec. 20003 887 inlägg
#10

Unexpected quantifier betyder att något i ditt pattern inte gick att tolka.

Enklaste lösningen kan nog vara den @nders föreslår. Den svårare lösningen är att du tar och studerar in dig på Regular Expressions... ;)

Medlem sedan juli 20015 107 inlägg
#11

Det var tydligen Script motorn.. jag har uppgraderat till version 5,6 nu och det fungerar normalt igen! mycket att hålla reda på när man formaterar! :OO
Skriptmotor, rättigheter osv osv :)

Tack för hjälpen Lurven, och alla som var vänliga och gav förslag :)

277 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)