2011-01-13 15 views
1

Gibt es eine schnelle Möglichkeit, alle Kommentare aus einer Coldfusion-Datei zu entfernen? Ich muss an einer Datei arbeiten, die hauptsächlich aus Kommentaren besteht (insbesondere Kommentare aus altem, nicht funktionalem Code), und ich möchte nur eine temporäre Version ohne Kommentare und Funktionscode erstellen.Gibt es eine einfache Möglichkeit, ColdFusion-Kommentare aus einer Datei zu entfernen?

Ich benutze in der Regel Notepad ++, um CFM-Dateien zu bearbeiten, aber ich habe auch ColdFusion Studio.

Jede Hilfe wird geschätzt!

+0

sehen dies auch http://stackoverflow.com/questions/6804951/regex-to-remove-comments-in-xml-file-in-eclipse-java –

+0

Haben diese Editoren einen Fund haben und ersetzen, dass Regex unterstützt? Es wäre ziemlich leicht damit zu tun, denke ich. –

Antwort

3

Mit CFML können Sie es mit einer schnellen Regex tun. Dies funktioniert nur mit CFML-Tag-basierten Kommentaren, nicht mit Skript-Kommentaren.

<cfset contents = fileRead(expandPath("./test2.cfm"))> 
<cfset noComments = rereplace(contents, "<!---.*?--->", "", "all")> 
<cfoutput> 
#htmlCodeFormat(noComments)# 
</cfoutput> 
+5

Dies wird abgebrochen, wenn Sie Kommentare verschachtelt haben. –

0

Eine Möglichkeit wäre, ein cfm-Skript zu erstellen, um die gesamte .cfm-Datei als Textdatei zu analysieren. (Mit cffile oder einer Java-Datei-Methode).

schlüpfen dann in einer einfachen Regex etwas zwischen

Es gibt mehrere gute Regex Beispiele zu entfernen, die bestimmte Tags aus html entfernen, die für diese große funktionieren sollte.

Hier ist eine Regex, die ich verwendet habe, um die erste in einem Code zu entfernen, der sich selbst um ein XML-Element wickelte, das ich gerendert habe. Es sollte ziemlich nah an dem sein, was Sie brauchen, um alle Kommentare zu entfernen.

< \ /? Div [^>] *?>

Best of luck!

1
You need a multirow regex find/replace. Eclipse let's you do it with:(?s)<!---(.*?)---> 

Alternately, you can.. 
Open http://gskinner.com/RegExr/ 
Enter <!---(.*\r)*---> into first box. 
Press Replace Tab. 
Copy/Paste your file's code into first text area. 
Second text area will contain filtered code. 

Works for CFML comments, you can modify regex to work for script comments.n 
+0

funktioniert nicht. hebt extra auf, wenn zwei Kommentare auf einer Seite sind –

+0

Ja, Multi-Line-Zeug ist ein bugger. Hast du ein Beispiel? Ich renne etwas hoch. –

+0

Ich habe ein paar Tests durchgeführt. (? s) funktioniert gut in Sublime und CFBuilder. –

Verwandte Themen