dongpaocuan7498 2017-10-16 22:15
浏览 37
已采纳

使用PHP [duplicate]删除注释中的CSS

This question already has an answer here:

Let's say I have a string like this:

$css = '.class {
    color: red;
}

/* Start Comment */
.replace {
    content: "me";
}
/* End Comment */';

How can I remove everything inside the comment, including the comment itself?

I want this result:

.class {
    color: red;
}

I've tried something like this, but it doesn't do it:

$css = preg_replace( '#(/* Start Comment */).*?(/* End Comment */)#', '', $css );

I've also tried this: https://stackoverflow.com/a/13824617/2391422

Am I missing something ridiculously obvious here?

Really appreciate any feedback - regex is something I need to study further.

</div>
  • 写回答

1条回答 默认 最新

  • doumu5934 2017-10-16 22:23
    关注

    You can get this code to work by adding the DOTALL-modifier s http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

    $css = preg_replace( '#(/\\* Start Comment \\*/).*?(/\\* End Comment \\*/)#s', '', $css );
    

    Additionally, the * should be escaped to get the desired effect. The / are fine as you are using another delimiter.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?