知识大全 ASP中轻松实现变量名-值变换
Posted 知
篇首语:不登高山,不知天之高也;不临深溪,不知地之厚也。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP中轻松实现变量名-值变换相关的知识,希望对你有一定的参考价值。
ASP中轻松实现变量名-值变换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
用过PHP的朋友都知道 PHP中变量的使用灵活方便 特别是能在字符串中方便实现变量名-值变换 使得整个PHP代码更显简洁优美 比如一条更新数据库的SQL语句只需写成 "update users set password=$password group=$group name=$username where account=$account " 其中的$password $group $username $account便会被实际的变量值替换 而在ASP中要实现相同的功能必须写成 "update useres set password=" & password & " group=" & group & " name=" & username & " where account=" & account & " " 显得冗长难看 如果这是一条insert语言而且插入的字段内容很多的话 那么查看字段与values的对应关系将会是一个痛苦的过程
现在让我们看看如何在ASP实现类似的变量名-值变换
思路
首先 必须有一个方法把需要用实际值替换的变量名与普通的文本区分出来 然后 把所有找到的变量名用它所代表的实际值替换掉
对于第一点可以通过正则表达式查找得到 这里我们不采用PHP的变量表示方式 而采用大托号作为变量名的边界符 字符串表示变为password= password group=group
第二点是变量名-值变换的关键 通过变量名得到变量值 查看ASP资料没有找到直接实现的方法 但有一个函数Execute引起我们的注意 从资料说明中可知Execute可以执行传入的有效的字符串作为代码执行同 这样只要编写一个小函数就可以实现我们的要示 核心代码为
function GetVar(var_name) Execute("function get_value(): get_value=" & var_name & ": end function") getvar=get_value() end function
实现
完整代码
function GetVar(var_name) Execute("function get_value(): get_value=" & var_name & ": end function") getvar=get_value() end function
function Txt Value(str level) dim regEx Matches Result Set regEx = new RegExp select case level case regEx Pattern = "(w+)" 变量名有效 case regEx Pattern = "([w+ */<>=]+)" 变量名及运算符有效 case regEx Pattern = "([ws]+)" 除换行符外的所有字符有效 case else exit function end select regEx Pattern = "(w+)" regEx IgnoreCase = true regEx Global = true Set Matches = regEx Execute(str) Result = str response write Matches Count For Each Match In Matches Result = Replace(Result Match Value GetVar(Match SubMatches( ))) Next set Matches = nothing set regEx = nothing Txt Value = Result end function
function Var Value(var_name) Var Value = Txt Value(var_name ) end Function
调用方法
Var Value("update users set password=password group=group name=username where account=account "
cha138/Article/program/net/201311/14190相关参考