PHP:用其他注释替换CSS注释
我有一段代码:PHP:用其他注释替换CSS注释,php,css,comments,preg-replace,Php,Css,Comments,Preg Replace,我有一段代码: $csscomments = '!/\*[^*]*\*+([^/][^*]*\*+)*/!'; $sourcecode = preg_replace($csscomments, '<span class="csscomments">'.$csscomments.'</span>', $sourcecode); 这可以很好地找到CSS注释,但它绝对不能用我所需要的内容替换它们 例如,我需要将:/*Hello world*/替换为/*Hello world*
$csscomments = '!/\*[^*]*\*+([^/][^*]*\*+)*/!';
$sourcecode = preg_replace($csscomments, '<span class="csscomments">'.$csscomments.'</span>', $sourcecode);
这可以很好地找到CSS注释,但它绝对不能用我所需要的内容替换它们
例如,我需要将:/*Hello world*/替换为/*Hello world*/
现在我把它作为一个输出/\*[^*]*\*+[^/][^*]*\*+*/!.
我需要更改什么才能获得正确的输出?谢谢大家! 没有完全回答你的问题,但有点解决了你一开始都没有问到的问题,我想:
preg_match($csscomments, $stringcontainingyourCSS?, $matches);
$sourcecode = array();
foreach ($matches as $match) {
array_push($sourcecode, "<span class='csscomments'>" . $match . "</span>");
}
preg_replace的工作原理如下:preg_replace$pattern、$replacement、$string;您的模式和替换存在,但字符串为空。另外,preg_replace不需要赋值这是一个很好的观点,我已经考虑过了,我没有得到字符串中匹配的文本。