2011-01-13 12 views
1

Coldfusionファイルからすべてのコメントをすばやく削除する方法はありますか。私は主にコメント(特に古い非機能コードのコメント)であるファイルについて作業しなければならず、コメントと機能コードだけを含む一時的なバージョンを作成したいと考えています。ファイルからColdFusionコメントを削除する簡単な方法はありますか?

私はCFMファイルを編集するためにNotepad ++を使用しますが、ColdFusion Studioもあります。

ご協力いただきましてありがとうございます。

+0

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

+0

は、それらの編集者が検索を持っていますこれを見ますそれを置き換える正規表現をサポートしていますか?それは私が思うだろうとするのはかなり簡単だろう。 –

答えて

3

CFMLを使用すると、簡単な正規表現を使用して行うことができます。これは、CFMLタグベースのコメントでのみ機能し、スクリプトでは使用できません。

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

ネストされたコメントがある場合、これは壊れます。 –

0

1つの方法は、cfmスクリプトを作成して、.cfmファイル全体をテキストファイルとして解析することです。 (cffileまたはjavaファイルメソッドを使用)。

次に、このための偉大な動作するはずのhtmlから特定のタグを削除しますいくつかの良い正規表現の例があります

の間で何かを削除するには、単純な正規表現で滑ります。

ここでは、私がレンダリングしていたXMLの周りに自分自身をラッピングしていたコードの最初の部分を削除するために使用した正規表現があります。すべてのコメントを削除するのにはかなり近いはずです。

< \ /?のdiv [^>] *?>

運のベスト!

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

は機能しません。ページ上に2つのコメントがある場合は余分に拾う –

+0

ええ、複数行のものはバグです。例がありますか?私は何かを実行します。 –

+0

私はいくつかのテストを行った。 (?s)<!---(。*?)--->は、SublimeとCFBuilderでうまくいきます。 –

関連する問題