Coldfusion で HTML コードを String 変数として使用しています。
例えば:
<cfset str = "<span class='xyz'> sample text within span </span>" >
ここで、テキスト「スパン内のサンプルテキスト」からスパンという単語を置き換えたいが、タグ名は置き換えたくない。
誰かが私を助けることができますか?
前もって感謝します。
Coldfusion で HTML コードを String 変数として使用しています。
例えば:
<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")>
ありがとう