asp classic 替换输出 BBCode 部分中的 <br>

asp classic replace <br> in section of output BBCode

我已经创建了一个演示文件,您可以下载它,还有一个页面可以查看它 运行。我需要做的是,所有的 标签,只需要在区域中删除 (BBCode [code])

更新: 该代码不适用于多个 BBCode 标签。所以如果有

[URL]
[地点]
[乙]

或者其他任何东西,下面的脚本会破坏所有标签。并且不会正确处理页面。

这是演示页面的link。 http://www.cffcs.com/test/EE/Main.asp

这里是 link 下载 .zip 文件。 http://www.cffcs.com/test/EE/Request.zip

如果有人能帮助我,我将不胜感激。

使用了以下代码,但是,我发现它破坏了“[代码”部分未涉及的所有其他内容 这是正在使用的,可以在上面的代码文件中找到。

Function ReplaceChar(strString)
    strString = Reggex(strString, "\[code=(.*?)\](.*?)\[\/code\]", "<code class=""""></code>")
    ReplaceChar = strString
End Function



Function ProtectSQL(SQLString)
    SQLString = SQLString
    SQLString = Replace(SQLString, "'", "''") ' replace > with &gt;
    SQLString = Replace(SQLString, vblf,"<br>") ' replace vblf with <br /> (This is mainly used for Memo fields.
    SQLString = Trim(SQLString)
    ProtectSQL = SQLString
End Function


getText = ProtectSQL(request.form("Answers"))
bigString = ReplaceChar(getText)



'grab the left chunk of text starting to the position just after [code
startString = LEFT(bigString, INSTR(bigString, "<code ") + 6)
endString = RIGHT(bigString, LEN(bigString)-INSTR(bigString, "</code>")+1)
midString = REPLACE(bigString, endString, "")
midString = REPLACE(midString, startString, "")
midString = REPLACE(midString, "<br>",vbLf)
bigString = startString & midString & endString

经典ASP,你只需要一个简单的Replace()

strString = REPLACE(strString, "<br>", vblf)

如果你只想对字符串的一部分进行替换,它会变得有点复杂:

'grab the left chunk of text starting to the position just after [code
startString = LEFT(bigString, INSTR(bigString, "<code ") + 6)

'grab the right chunk of text starting just before the [/code
endString = RIGHT(bigString, LEN(bigString)-INSTR(bigString, "</code>")+1)

'clear out the beginning and end to just get the part between the code tags
midString = REPLACE(bigString, endString, "")
midString = REPLACE(midString, startString, "")

'replace the breaks 
midString = REPLACE(midString, "<br>",vbLf)

'put it all back together
bigString = startString & midString & endString

您可以使用 MID 函数来获取字符串的中间部分,而不是使用替换将 midString 与较大的字符串分开 - 请参阅此处的 MID 文档:http://www.w3schools.com/vbscript/func_mid.asp 为此,您还需要计算中间字符串的长度,使用 INSTR() 和 LEN() 的组合来获取位置: http://www.w3schools.com/vbscript/func_len.asp