我从url
页面请求获得cfhttp
:
<a href="http://subdomian.maindomain.com/javascript:popOne('http://www.rs.com ')">http://www.rs.com</a>
我正在尝试将其替换为:
<a href="http://www.rs.com" target="_blank">http://www.rs.com</a>
rs.cfm每次都会动态,它可以是sb,sd,ge
等等
我希望将目标添加到a href
像这样尝试
<cfset lnk = replace(cfhttp.filecontent,'subdomian.maindomain.com/http://www.al.com/','http://www.al.com/','ALL')>
这适用于名称为al
的一种情况,但不添加目标属性。还
答案 0 :(得分:0)
以下内容应该有效。 注意:我没有测试过这段代码。我会把它留给你。
您的开头字符串是:
http://subdomain.maindomain.com/javascript:popOne('http://www.rs.com ')
您可以通过执行以下操作删除开头部分:
<cfset lnk = "http://subdomain.maindomain.com/javascript:popOne('http://www.rs.com ')">
<cfset lnk = ReplaceNoCase(lnk,"http://subdomain.maindomain.com/javascript:popOne('")>
这应该将lnk
设置为以下内容:
http://www.rs.com ')
现在你需要像这样删除尾随部分:
<cfset lnk = ReplaceNoCase(lnk," ')")> <!--- remove the space as well --->
哪个应该留下您想要的网址:
http://www.rs.com
现在只需根据需要创建HTML输出:
<cfoutput>
<a href="#lnk#" target="_blank">#lnk#</a>
</cfoutput>
此示例代码假定像subdomain.maindomain.com ...
这样的字符串不会更改。如果字符串是动态的,那么此代码将无法工作,需要修改为可能使用正则表达式
全部放在一起:
<cfset lnk = "http://subdomain.maindomain.com/javascript:popOne('http://www.rs.com ')">
<cfset lnk = ReplaceNoCase(lnk,"http://subdomain.maindomain.com/javascript:popOne('")>
<cfset lnk = ReplaceNoCase(lnk," ')")> <!--- remove the space as well --->
<cfoutput>
<a href="#lnk#" target="_blank">#lnk#</a>
</cfoutput>
希望有所帮助。
答案 1 :(得分:0)
请尝试此功能:
<cffunction name="convertLink">
<cfargument name="siteLink" required="true" type="string">
<cfset extractedLink = listGetAt(replace(replace(arguments.siteLink, "('", "||", "all"), "')", "||", "all"), 2, "||")>
<cfreturn '<a href="' & extractedLink & '" target="_blank">'& extractedLink & '</a>'>
</cffunction>