0

我在 Coldfusion 中有 HTML 代码作为字符串变量。

例如:

<cfset str = "<span class='xyz'> sample text within span </span>" >

现在我想从文本“跨度内的示例文本”中替换单词跨度,而不是标签名称。

有人能帮我吗?

提前致谢。

4

2 回答 2

0

我将愚蠢地回答你的问题:

<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,这被认为是本文中提到的一件坏事。

也许您可以多解释一下您的问题,我们可以提供帮助。

于 2010-12-14T22:19:41.273 回答
0

我已经像这样更改了我的代码,它似乎可以工作,但是我不知道它的效率如何,有人可以检查一下吗?

<cfset htmlcontents = ReReplaceNoCase(htmlcontents, "(>[^<]*?)(#Lcase(text2replace)#)", "\1<span class=suchehighlight>\2</span>","ALL")>

谢谢

于 2010-12-15T16:35:19.133 回答