Заменяйте одинарные кавычки на двойные в только тегах!Использование регулярного выражения ColdFusion - PullRequest
0 голосов
/ 20 декабря 2011

Я вижу только 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 Ответ

1 голос
/ 20 декабря 2011

Вместо того, чтобы использовать регулярные выражения, вы можете делать то, что вам нужно в этом случае, позволяя CF делать всю работу за вас, через библиотеки синтаксического анализа XML:

<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)#">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...