使用PHP删除内部注释中的CSS

使用PHP删除内部注释中的CSS,php,regex,Php,Regex,假设我有这样一个字符串: $css = '.class { color: red; } /* Start Comment */ .replace { content: "me"; } /* End Comment */'; 如何删除评论中的所有内容,包括评论本身 我想要这个结果: .class { color: red; } 我尝试过类似的方法,但没有成功: $css = preg_replace( '#(/* Start Comment */).*?(/* End

假设我有这样一个字符串:

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

/* Start Comment */
.replace {
    content: "me";
}
/* End Comment */';
如何删除评论中的所有内容,包括评论本身

我想要这个结果:

.class {
    color: red;
}
我尝试过类似的方法,但没有成功:

$css = preg_replace( '#(/* Start Comment */).*?(/* End Comment */)#', '', $css );
我也试过:

我是不是错过了一些明显得可笑的东西


非常感谢您的反馈-我需要进一步研究正则表达式。

您可以通过添加DOTALL修饰符
s


此外,应转义
*
,以获得所需的效果。当您使用另一个分隔符时,
/
很好。

*
是一个特殊字符,如果您想匹配一个文本,必须将其转义<默认情况下,代码>与换行符
\n
不匹配。要使其也与换行符匹配,必须使用
s
修饰符。请尝试转义
/
*
/\/*。+/s也与字符串匹配您不必使用两个反斜杠来转义
*
只有一个就足够了。请注意,您也可以对长文字部分使用
\Q..\E
功能。它可以不使用反斜杠,但总是转义反斜杠更为简洁,即使是在单引号中。除此之外,单引号本身是唯一可以手动转义的东西。
$css = preg_replace( '#(/\\* Start Comment \\*/).*?(/\\* End Comment \\*/)#s', '', $css );