- ·上一篇文章:asp实现查找指定目录下的某一扩展名的文件
- ·下一篇文章:如何实现asp批量录入数据的代码
asp实现静态页面上加自定义的if语句
php中有一个叫smarty,可以实现在静态页面上加一些自定义的if语句,运行后实现自己想要的效果,现在我想将这种思想用asp来实现,经过一天的测试,终于搞定,现在放到这里与大家共享。
静态页面:1.html 
 
 
<
TABLE 
border="1" 
width="500">
 
 
<
TR 
bgcolor="<
!-- 
if 
1>
22 
then 
-->
#ff0000<
!-- 
else 
-->
#cccccc<
!-- 
end 
if 
-->
">
 
<
TD>
aspprogram.cn<
/TD>
 
<
TD>
aaaaaaa<
/TD>
 
 
<
/TR>
 
 
<
TR 
bgcolor="<
!-- 
if 
2>
1 
then 
-->
#ff0000<
!-- 
end 
if 
-->
">
 
<
TD>
bbbbbbb<
/TD>
 
<
TD>
cccccc<
/TD>
 
 
<
/TR>
 
 
<
/TABLE>
要得到的效果是:
 
 
<
TABLE 
border="1" 
width="500">
 
 
<
TR 
bgcolor="
#cccccc">
 
<
TD>
aspprogram.cn<
/TD>
 
<
TD>
aaaaaaa<
/TD>
 
 
<
/TR>
 
 
<
TR 
bgcolor="
#ff0000">
 
<
TD>
bbbbbbb<
/TD>
 
<
TD>
cccccc<
/TD>
 
 
<
/TR>
 
 
<
/TABLE>
实现的代码是:1.asp
<
 
%
’===========================================
’ 
代码功能:asp实现静态页面上加自定义的if语句
’ 
作 
 
 
 
者:wangsdong
’ 
网 
 
 
 
站: 
http://www.aspprogram.cn  
’ 
文章为作者支持!
’===========================================
Set 
MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
path=server.mappath("1.html")
Set 
MyTextFile=MyFileObject.OpenTextFile(path)
str=MyTextFile.readall
MyTextFile.Close
Set 
MyFileObject=Nothing
s="<
!-- 
if 
.* 
end 
if 
-->
"
response.write 
RegExpTest(str,s)
Function 
regExReplace(sSource,patrn, 
replStr) 
Dim 
regEx, 
str1 
str1 
= 
sSource 
Set 
regEx 
= 
New 
RegExp 
regEx.Pattern 
= 
patrn 
regEx.IgnoreCase 
= 
True 
regEx.Global 
= 
True 
regExReplace 
= 
regEx.Replace(str1, 
replStr) 
End 
Function
Function 
RegExpTest(strng,s)
strng1=strng
Dim 
regEx, 
Match, 
Matches 
 
 
’ 
建立变量。
Set 
regEx 
= 
New 
RegExp 
 
 
’ 
建立正则表达式。
regEx.Pattern 
= 
s 
 
 
’ 
设置模式。
regEx.IgnoreCase 
= 
True 
 
 
’ 
设置是否区分大小写。
regEx.Global 
= 
True 
 
 
’ 
设置全局替换。
Set 
Matches 
= 
regEx.Execute(strng) 
 
 
’ 
执行搜索。
For 
Each 
Match 
in 
Matches 
 
 
’ 
遍历 
Matches 
集合。
 
str0=match.value
 
str0=Right(str0,Len(str0)-4)
 
str0=Left(str0,Len(str0)-4) 
 
str2=Replace(str0,"<
!--","""")
 
str2=Replace(str2,"-->
","kkk=""")
 
str2=Replace(str2,"end 
if","")
 
execute(str2)
 
response.write 
vbnewline
 
 
 
 
strng1=regExReplace(strng1,Match.value,kkk)
Next
RegExpTest 
= 
strng1
end 
Function
% 
>
静态页面:1.html 
 
 
<
TABLE 
border="1" 
width="500">
 
 
<
TR 
bgcolor="<
!-- 
if 
1>
22 
then 
-->
#ff0000<
!-- 
else 
-->
#cccccc<
!-- 
end 
if 
-->
">
 
<
TD>
aspprogram.cn<
/TD>
 
<
TD>
aaaaaaa<
/TD>
 
 
<
/TR>
 
 
<
TR 
bgcolor="<
!-- 
if 
2>
1 
then 
-->
#ff0000<
!-- 
end 
if 
-->
">
 
<
TD>
bbbbbbb<
/TD>
 
<
TD>
cccccc<
/TD>
 
 
<
/TR>
 
 
<
/TABLE>
要得到的效果是:
 
 
<
TABLE 
border="1" 
width="500">
 
 
<
TR 
bgcolor="
#cccccc">
 
<
TD>
aspprogram.cn<
/TD>
 
<
TD>
aaaaaaa<
/TD>
 
 
<
/TR>
 
 
<
TR 
bgcolor="
#ff0000">
 
<
TD>
bbbbbbb<
/TD>
 
<
TD>
cccccc<
/TD>
 
 
<
/TR>
 
 
<
/TABLE>
实现的代码是:1.asp
<
 
%
’===========================================
’ 
代码功能:asp实现静态页面上加自定义的if语句
’ 
作 
 
 
 
者:wangsdong
’ 
网 
 
 
 
站: 
http://www.aspprogram.cn  
’ 
文章为作者支持!
’===========================================
Set 
MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
path=server.mappath("1.html")
Set 
MyTextFile=MyFileObject.OpenTextFile(path)
str=MyTextFile.readall
MyTextFile.Close
Set 
MyFileObject=Nothing
s="<
!-- 
if 
.* 
end 
if 
-->
"
response.write 
RegExpTest(str,s)
Function 
regExReplace(sSource,patrn, 
replStr) 
Dim 
regEx, 
str1 
str1 
= 
sSource 
Set 
regEx 
= 
New 
RegExp 
regEx.Pattern 
= 
patrn 
regEx.IgnoreCase 
= 
True 
regEx.Global 
= 
True 
regExReplace 
= 
regEx.Replace(str1, 
replStr) 
End 
Function
Function 
RegExpTest(strng,s)
strng1=strng
Dim 
regEx, 
Match, 
Matches 
 
 
’ 
建立变量。
Set 
regEx 
= 
New 
RegExp 
 
 
’ 
建立正则表达式。
regEx.Pattern 
= 
s 
 
 
’ 
设置模式。
regEx.IgnoreCase 
= 
True 
 
 
’ 
设置是否区分大小写。
regEx.Global 
= 
True 
 
 
’ 
设置全局替换。
Set 
Matches 
= 
regEx.Execute(strng) 
 
 
’ 
执行搜索。
For 
Each 
Match 
in 
Matches 
 
 
’ 
遍历 
Matches 
集合。
 
str0=match.value
 
str0=Right(str0,Len(str0)-4)
 
str0=Left(str0,Len(str0)-4) 
 
str2=Replace(str0,"<
!--","""")
 
str2=Replace(str2,"-->
","kkk=""")
 
str2=Replace(str2,"end 
if","")
 
execute(str2)
 
response.write 
vbnewline
 
 
 
 
strng1=regExReplace(strng1,Match.value,kkk)
Next
RegExpTest 
= 
strng1
end 
Function
% 
>
asp实现静态页面上加自定义的if语句