Question

I have HTML code as String variable in Coldfusion.

For example:

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

Now I want to repalce the word span from text "sample text within span" but not the tag name.

Can someone help me?

Thanks in advance.

Was it helpful?

Solution 2

I habe changed my code like this and it seems to work, but how efficent it is I don't know Can someone please check it?

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

Thanks

OTHER TIPS

I'm going to dumbly answer your question:

<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#" />

Disclaimer: if I caught myself writing this I would probably think myself on the wrong track.

This road leads to one trying to use regular expressions to parse HTML, regarded as a bad thing as mentioned in this article.

Perhaps you can explain your problem a little more and we can help.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top