ASP自定义标签如何实现正则替换 ?

simon803 2009-09-28 11:56:01
比如一个新闻的内容为
##################################
AAAAAA的的的 {ss:company}
##################################

正常 <%=news("content")%> 输出的内容为

AAAAAA的的的 {ss:company}

没有解析{ss:company}

{ss:company}就是我自定义的标签,我的系统 <%=configrs("company")%> 就可以输出公司名
我想让系统输出的时候遇到 {ss: 开头和 } 结尾的时候自动解析这个标签

按<%=configrs("标签名")%>输出值

说得有些乱,但是大家一看应该能明白意思,请问怎么实现 ?
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
给你一个思路
configrs("company")="我的公司"
str="AAAAAA的的的 {ss:aaaa}"
Set re = New RegExp
re.Global = True
re.Pattern = "\{ss:([^}]+)\}"
str=re.Replace(str,""&eval("configrs(""$1"")")&"")
response.Write str&"<br>"
wcwtitxu 2009-09-29
  • 打赏
  • 举报
回复

<%
Function ReplaceMyTag(ByVal content)
With New RegExp
.Pattern = "\{ss\:([^}]+)\}"
.Global = True
Dim m
For Each m In .Execute(content)
content = Replace(content, m.Value, configrs(m.SubMatches(0)))
Next
End With
ReplaceMyTag = content
End Function
%>


...

<%=ReplaceMyTag(news("content").Value)%>

zhangjiewoshiwo 2009-09-29
  • 打赏
  • 举报
回复
这个你可以在ASP后台代码中取到数据库中值的时候自动创建HTML标签,如:
你从数据库中取到了……………… {ss:company/} ……………………………………
这段,然后自动创建前台页面上的html标签并将{ss:company/}转义成 <%=configrs("company")%> 输出
simon803 2009-09-29
  • 打赏
  • 举报
回复
不对哦 我的意思是

比如我存储在数据库的内容是

……………… {ss:company/} ……………………………………

我想在输出的时候遇到类似 {ss:company/} 的标签就转义成 <%=configrs("company")%> 输出

company 是我随便定义的一个标签
Dogfish 2009-09-29
  • 打赏
  • 举报
回复
楼上正确。
  • 打赏
  • 举报
回复
测试的程序:

Set rs=server.CreateObject("adodb.recordset")
sql = "select top 10 * from table1 order by id desc"
rs.open sql,conn,1,1
If not Rs.BOF Then
do while not rs.eof
str="AAAAAA的的的 {ss:aaaa}"
Set re = New RegExp
re.Global = True
re.Pattern = "(.*?)\{ss:([^}]+)\}(.*?)"
a=re.Replace(str, "$1")
a=a&eval(re.Replace(str, "rs(""$2"")"))
a=a&re.Replace(str, "$3")
Response.Write a
response.Write "<br>"
rs.movenext
loop
end if
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 simon803 的回复:]
不对哦  我的意思是

比如我存储在数据库的内容是

……………… {ss:company/}  ……………………………………

我想在输出的时候遇到类似  {ss:company/} 的标签就转义成 <%=configrs("company")%> 输出

company 是我随便定义的一个标签
[/Quote]
为什么这么死板呢?都告诉你思路如此了
正则是没错的,至于你怎么变化就看你自己啊

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧