我正在尝试重新替换字符串中的实际开始/结束标记。
例如,我想取代
<p class="style4">My Title Is This<p>
<h2>My Title Is This</h2>
<h2>(.+?)</h2>
<cfset this.text2 = ReReplaceNoCase(getThis.statictext, '<p[^>]+class="style4"[^>]*>(.+?)</p>', '<h2>(.+?)</h2>', "ALL")>
替换它
答案 0 :(得分:2)
取代这个:'<h2>(.+?)</h2>'
您需要使用反向引用\1
来引用子表达式(.+?)
:
<cfset this.text2 = ReReplaceNoCase(getThis.statictext, '<p\s[^>]+class="style4"[^>]*>(.+?)</p>', '<h2>\1</h2>', "ALL")>
希望这有帮助。
更新:根据Mike Causer的建议编辑。
答案 1 :(得分:0)
这会查找所有标记并将其删除,您可以轻松修改此标记以进行替换。
<!---
# STRIPTAGS
# Strip all html tags from a string
# Receive string and return string with any and all tags striped out
--->
<cffunction name="stripTags" access="public" output="false" returntype="string" hint="Remove all HTML tags from string">
<cfargument name="string" type="any" required="true" hint="String to clean"/>
<cfset var pattern = "<[^>]*>">
<cfreturn REReplaceNoCase(arguments.string, pattern, "" , "ALL")>
</cffunction>