急!!web_reg_save_param方法中的ORD参数
请问下,我现在虽然知道web_reg_save_param函数的用法,但我一直都不明白ORD参数正确的意思,在网上找都是说:如果把它设置成ALL的话就可以保存多个参数,那我想问一下,这个保存参数的意思是不是脚本迭代一次就把所找到的值一直存放到参数里面去?还是怎么样的?还有,怎样从这个参数找到相关的值?请各位好心人帮下忙,我真的有点笨。 ORD 控制保存的参数类型,如果是保存单个值的话就是1,如果想保存一个列表的话,需要是ALL。ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array. This attribute is optional.
Note: The use of Instance instead of ORD is supported for backward compatibility, but deprecated.
http://bbs.51testing.com/thread-101620-1-3.html
ORD
假如符合条件的有多个值,ORD就是指明你要取第几个值。 上面两位说得不太清楚,还是让我这个新手说吧,现在假如web_reg_save_param这个函数的左边字符数是这样写"LB/IC=barguid'",哪如果把ORD设置成1的话,那就是说,当前源文件中第一次出现barguid时就截取第一次出现barguid右边的值,如果把ORD设置成2的话,那就把源文件中第二次出现的barguid时右边所出现的值截出来,如些类推,如果把ORD设置成All的话就把源文件所有出现barguid右边的值都截出来,就是这个意思. bossy 应该把右边界带上。ord=1 表示把符合左右边界条件的第一个截取出来
。。。 原帖由 liangjz 于 2008-3-21 22:23 发表 http://bbs.51testing.com/images/common/back.gif
bossy 应该把右边界带上。
ord=1 表示把符合左右边界条件的第一个截取出来
。。。
嗯,是的是的,我知道了,3Q. 这个好像很好理解吧 当附和关联函数左右边界的值有多个时,设置ORD=ALL表示把所有值都保存到参数中,ORD=1表示保存第一个 说得很清楚,理解了,谢谢 如果设置ORD=ALL表示把所有值都保存到参数中,是不是有点类似数组的意思啊?
还有这个参数保存了好多值,那么以后调用此参数的地方如何取值呢?是随机取一个,还是取全部? 原帖由 aprincess 于 2009-1-4 15:48 发表 http://bbs.51testing.com/images/common/back.gif
如果设置ORD=ALL表示把所有值都保存到参数中,是不是有点类似数组的意思啊?
还有这个参数保存了好多值,那么以后调用此参数的地方如何取值呢?是随机取一个,还是取全部?
没错,类似数组。
假设关联了一个姓名的字符串,保存在参数NAME里面:
ORD=1的时候,可以直接输出
lr_output_message(lr_eval_string("{NAME}"));
ORD=ALL的时候,就要这样输出了
lr_output_message(lr_eval_string("{NAME_1}"));
lr_output_message(lr_eval_string("{NAME_2}"));
lr_output_message(lr_eval_string("{NAME_3}"));
下面是我的一段脚本,一起探讨探讨这种情况的用法。
int i,j;
char temp;
char keyword;
web_reg_save_param("MNAME","LB=)>","RB=</a></td>","ORD=ALL",LAST);
web_url("影视TOP关键词",
"URL={LISTURL}",
"Mode=HTTP",
LAST);
i=atoi(lr_eval_string("{MNAME_count}"));
lr_error_message("%d",i);
if(i>50) i=50;
for(j=0;j<i;j++)
{
sprintf(temp,"{MNAME_%d}",(j+1));
sprintf(keyword,"%s\n",lr_eval_string(temp));
}
页:
[1]