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>
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.