Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:用其他注释替换CSS注释_Php_Css_Comments_Preg Replace - Fatal编程技术网

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不需要赋值这是一个很好的观点,我已经考虑过了,我没有得到字符串中匹配的文本。