我在 Coldfusion 中有 HTML 代码作为字符串变量。
例如:
<cfset str = "<span class='xyz'> sample text within span </span>" >
现在我想从文本“跨度内的示例文本”中替换单词跨度,而不是标签名称。
有人能帮我吗?
提前致谢。
我在 Coldfusion 中有 HTML 代码作为字符串变量。
例如:
<cfset str = "<span class='xyz'> sample text within span </span>" >
现在我想从文本“跨度内的示例文本”中替换单词跨度,而不是标签名称。
有人能帮我吗?
提前致谢。
我将愚蠢地回答你的问题:
<cfset str = "<span class='xyz'> sample text within span </span>" >
<cfdump var="#str#" />
<!--- Convert to list based on start and end tag brackets --->
<cfset arr = listToArray(str, ">,<") />
<!--- Replace the ACTUAL text --->
<cfset newStr = replace(str, arr[2], "my new text") />
<cfdump var="#newStr#" />
免责声明:如果我发现自己在写这篇文章,我可能会认为自己走错了路。
这条路导致人们试图使用正则表达式来解析 HTML,这被认为是本文中提到的一件坏事。
也许您可以多解释一下您的问题,我们可以提供帮助。
我已经像这样更改了我的代码,它似乎可以工作,但是我不知道它的效率如何,有人可以检查一下吗?
<cfset htmlcontents = ReReplaceNoCase(htmlcontents, "(>[^<]*?)(#Lcase(text2replace)#)", "\1<span class=suchehighlight>\2</span>","ALL")>
谢谢