仅在标签中用双引号替换单引号!使用ColdFusion正则表达式

时间:2011-12-20 04:59:29

标签: regex coldfusion

我只看到解决此问题的PHP解决方案。

基本上我需要从:

<TEXTFORMAT LEADING='2'><P ALIGN='LEFT'><FONT FACE='Verdana' style='font-size:10' COLOR='#0B333C'>My name's Mark</FONT></P></TEXTFORMAT>

到此:

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Verdana" style="font-size:10" COLOR="#0B333C">My name's Mark</FONT></P></TEXTFORMAT>

使用ReReplaceNoCase但是...是的,你猜对了..我吮吸正则表达式! :)

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以通过XML解析库让CF为您完成工作,而不是使用正则表达式:

<cfsavecontent variable = "origStr">
    <cfoutput>
        <TEXTFORMAT LEADING='2'><P ALIGN='LEFT'><FONT FACE='Verdana' style='font-size:10' COLOR='##0B333C'>My name's Mark</FONT></P></TEXTFORMAT>
    </cfoutput>
</cfsavecontent>
<cfset xmlString = ToString(xmlParse(origStr))>

<cfdump var="#xmlString#">

哪会回来:

<?xml version="1.0" encoding="UTF-8"?> <TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT COLOR="#0B333C" FACE="Verdana" style="font-size:10">My name's Mark</FONT></P></TEXTFORMAT>

如果领导<?xml...>让你烦恼,你可以减掉那部分:

<cfdump var="#Right(xmlString, Len(xmlString) - 40)#">