首页 > CMS > 动易CMS > 正文

在自定义标签中如何用js分割字符

2024-09-10 21:55:16
字体:
来源:转载
供稿:网友

用自定标签可以获取数据库中相应表的字段,可是有些字段比如说下载地址是以字符串的方式存放的,然后在字符串中用分割符区分不同地址,比如说:"下载地址1|200710/20071022165122306.doc$$$下载地址2|http://www.163.com"

如何在自定义标签中把这两个地址分隔出来?可以用js中的split函数

添加自定义函数标签如下:

函数名:比如{MY_fenge}

参数:一个,在下载内容页模板调用的时候为{MY_fenge({$SoftID})}

查询语句:select DownloadUrl from PE_Soft where SoftID={input(0)}

标签内容:

{Loop} {Infobegin}
<script language="JavaScript">
var str="{$Field(0,Text,0,0,0)} " //{$Field(0,Text,0,0,0)}为数据库中的下载地址,

// 以"下载地址1|200710/20071022165122306.doc$$$下载地址2|http://www.163.com"为例
var str1=str.split("$$$") //对下载地址进行第一次分割,按照$$$拆开,然后存放在数组str1中

//str1[0]=下载地址1|200710/20071022165122306.doc

//str1[1]=下载地址2|http://www.163.com.

var str2; //定义一个新的数组,因为还需要第二次分割才能得出正确的地址.
for(i=0;i<str1.length;i ){ //这个循环是算出有多少个下载地址的,str1.length是数组的长度.
str2 = str1[i].split("|") //第二次分割,也就是把str1[0]=下载地址1|200710/20071022165122306.doc

//再进行一次分隔,我们要取的是200710/20071022165122306.doc这个值
var count=i 1 //i是0开始的.所以这里加一,用来对下载地址进行编号.


//第二次分隔后,str2[0]=下载地址1,str2[1]=200710/20071022165122306.doc,str2[1]即我们要取的内容

document.write ("下载地址" count ":<a href='" str2[1] "'>" str2[1] "</a><br>");


}
</script> {Infoend} {/Loop}

前台显示的效果是

下载地址1:200710/20071022165122306.doc
下载地址2:http://www.163.com

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选