我正在寻找一些正在使用的正则表达式,以满足HTML注释标记而不是CSS。
我已经构建了一个preg替换函数,可以在样式表中的注释之间进行编辑,如下所示:
$find = array();
$find[0] = "/(\/\*bgColor\*\/).*?(\/\*\/bgColor\*\/)/i";
$find[1] = "/(\/\*titleColor\*\/).*?(\/\*\/titleColor\*\/)/i";
$replace = array();
$replace[0] = "\\1 background-color: $bgColor; \\2";
$replace[1] = "\\1 color: $titleColor; \\2";
$result = preg_replace($find, $replace, $file);
其工作方式如下所示:
/*titleColor*/ color: #000; /*/titleColor*/
两个CSS标签之间的任何内容都将被替换。
我希望复制这个想法,但是像这样的html:
<!--titleColor--> content_to_replace <!--/titleColor-->
我需要在preg_replace中更改什么才能使其与html注释标记一起正常工作?
答案 0 :(得分:1)
$find = array();
$find[0] = '/(<!--titleColor-->)(.*?)(<!--\/titleColor-->)/i';
$replace = array();
$replace[0] = '$1' . 'replacement' . '$3';
// I prefer enclosing the current inner value with patantheses
// in case you might wanna change or use it inside the $replace value.