我必須在正則表達式中挑戰。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