RegEx表达式替换标记内的文本

时间:2010-12-14 17:02:44

标签: coldfusion coldfusion-8 coldfusion-9

我在Coldfusion中将HTML代码作为String变量。

例如:

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

现在我想从文本“span span中的示例文本”中重新显示单词span,而不是标记名称。

有人可以帮助我吗?

提前致谢。

2 个答案:

答案 0 :(得分: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,这被认为是this文章中提到的一件坏事。

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

答案 1 :(得分:0)

我已经改变了我的代码并且它似乎有效,但它的效率我不知道 有人可以检查一下吗?

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

由于