【发布时间】:2015-03-05 01:50:41
【问题描述】:
我创建了一个演示文件,您可以下载它,并创建一个页面来查看它的运行情况。我需要做的是,所有的 标签,只需要在区域中删除(BBCode [code])
更新: 该代码不适用于多个 BBCode 标签。所以如果有
[网址] [地点] [乙]或者别的什么,下面的脚本会破坏所有的标签。并且不会正确处理页面。
这里是演示页面的链接。 http://www.cffcs.com/test/EE/Main.asp
这里是下载 .zip 文件的链接。 http://www.cffcs.com/test/EE/Request.zip
如果有人可以帮助我,我将不胜感激。
使用了以下代码,但是,我发现它破坏了“[代码”部分中未涉及的所有其他内容 这是正在使用的,可以在上面的代码文件中找到。
Function ReplaceChar(strString)
strString = Reggex(strString, "\[code=(.*?)\](.*?)\[\/code\]", "<code class=""$1"">$2</code>")
ReplaceChar = strString
End Function
Function ProtectSQL(SQLString)
SQLString = SQLString
SQLString = Replace(SQLString, "'", "''") ' replace > with >
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
【问题讨论】:
-
至少尝试在您的代码中包含一个 sn-p 以显示您到目前为止所尝试的内容,链接可能会降低一些代码应该包含在帖子正文中。这也将帮助那些来这里寻找类似问题答案的人。
-
更新了 Jen 提供的代码以及项目处理文件中的代码。
-
发现问题。该代码正在破坏通过它传递的所有其他 BBCode。所以这就是整个爆炸时间的问题。我只是将其更改为查找 [code] 而不是
并通过 textarea 发送所有内容,哇啦,我看到所有其他 BBCode 标记都在闪烁。所以。这就是问题所在,该代码不适用于 BBCode 标签。那就是更新 -
要修复 BBCode 问题,您必须关闭脚本中的开始标签。它不能保持打开状态,因为它会附着在所有带有标签的东西上并破坏它。 bigString, "
") + 6) 或 bigString, "[code=sql] ") + 10)
标签: replace asp-classic bbcode