我必须在正则表达式中挑战。coldfusion:正则表达式匹配单词并替换和更改链接
- 问题:1
我怎么能代替href="http://myserver.com"
如果我的HTML [点击这里]。例如: <a target="_blank" href="http://myserver.com" style="text-decoration: none; color: #fff;">Click here</a>
替换为
<a target="_blank" href="##" style="text-decoration: none; color: #fff;">Click here</a>
- 问题:2
在我的HTML我要搜索的关键字**^^ mytag **,并用替换值。 目前即时在循环中逐一替换。
目前代码: #replace(MYHTMLcontent,"^mytag^","Name","All")#
有没有,如果我可以搜索我的所有HTML的关键字这是在我的情况有点像^keyword^
,并添加添加结构的方式。
感谢
编辑:我添加新的代码什么IM即时通讯上坚持工作,如果某些人能帮助我。它正在替换我的HTML中的所有链接。
<cffunction name="htmlurl" returntype="any" >
<cfargument name="aHTMLTemplate" required="yes" type="any" default="">
<cfargument name="addr" required="yes" type="any" default="http://url.com"> <!--- OR ## --->
<cfset regex = createObject("java", "java.util.regex.Pattern").compile('href=\"[^\"]+\"')>
<cfset result = createObject("java", "java.lang.StringBuilder").init()>
<cfset var htmlcont = arguments.aHTMLTemplate />
<cfset var toReplaceURL = arguments.avolurladdr />
<cfset matcher = regex.matcher(htmlcont)>
<cfset last = 0>
<cfloop condition="matcher.find()">
<cfset result.append(
htmlcont.substring(
last,
matcher.start()
)
)>
<cfset token = matcher.group(
javaCast("int", (matcher.groupCount() gte 1 ? 1 : 0))
)>
<cfset token = ("<a href='"& toReplaceURL & "'")>
<cfset result.append(token)>
<cfset last = matcher.end()>
</cfloop>
<cfset result.append(htmlcont.substring(last))>
<cfset result = result.toString()>
<cfreturn result>
</cffunction>
我看不出任何问题。 –
我看到两个问题。 (好像帖子已被编辑过。) – jkdev