Frage

Ich habe HTML-Code als String-Variable in Coldfusion.

Zum Beispiel:

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

Jetzt möchte ich das Wort Spanne von Text "Beispieltext innerhalb span" repalce aber nicht den Tag-Namen.

Kann jemand mir helfen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung 2

Ich habe meinen Code wie folgt geändert und es scheint zu funktionieren, aber wie efficent es ist, ich weiß nicht, Kann jemand bitte überprüfen?

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

Danke

Andere Tipps

Ich werde dumbly Ihre Frage beantworten:

<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: wenn ich mich dieses Schreiben gefangen würde ich wahrscheinlich denken, mich auf dem falschen Weg.

Diese Straße führt zu einem Versuch, reguläre Ausdrücke zu verwenden, um Parsing HTML, als eine schlechte Sache angesehen, wie in diese Artikel.

Vielleicht haben Sie Ihr Problem ein wenig mehr erklären kann, und wir können helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top