【问题标题】:Is there a simple way to remove ColdFusion comments from a file?有没有一种简单的方法可以从文件中删除 ColdFusion 注释?
【发布时间】:2023-04-03 10:34:01
【问题描述】:

有没有一种快速的方法可以从 Coldfusion 文件中删除所有 cmets?我必须处理一个主要是 cmets(尤其是旧的非功能代码的 cmets)的文件,并且我想创建一个没有 cmets 和功能代码的临时版本。

我一般用Notepad++编辑CFM文件,但我也有ColdFusion Studio。

感谢任何帮助!

【问题讨论】:

标签: coldfusion comments


【解决方案1】:

一种方法是创建一个 cfm 脚本将整个 .cfm 文件解析为文本文件。 (使用 cffile 或 java 文件方法)。

然后插入一个简单的正则表达式以删除

有几个很好的正则表达式示例可以从 html 中删除特定的标签,这些标签应该可以很好地解决这个问题。

这是一个正则表达式,我用来删除一些代码中的第一个,该代码将自己包装在我正在呈现的一些 XML 周围。它应该非常接近您需要删除所有 cmets。

]*?>

祝你好运!

【讨论】:

    【解决方案2】:

    使用 CFML,您可以使用快速的正则表达式来完成。这仅适用于基于 CFML 标签的 cmets,不适用于脚本。

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

    【讨论】:

    • 如果您有嵌套的 cmets,这将中断。
    【解决方案3】:
    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
    

    【讨论】:

    • 是的,多行的东西很糟糕。有例子吗?我会运行一些东西。
    • 我进行了几次测试。 (?s) 在 Sublime 和 CFBuilder 中运行良好。
    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 2017-11-30
    • 2011-10-30
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多