我想运行一个css文件并替换一些值。 我希望替换只能在大括号内进行。
例如让我们说下一个css:
.redColor{color:red;padding-right:45px;/*etc....*/}
我希望用蓝色替换所有红色值。
我曾尝试使用下一个代码:
preg_replace("/{(.*)red(.*)}/","blue",$cssString)
但结果在哪里:
.redcolorblue
我希望它只用红色代替红色,如果它用括号并避开它周围的图案......
预期的结果应该是:
.redColor{color:blue ;padding-right:45px;/*etc....*/}
这只是我想要做的一个例子,我想改变css文件本身,并在其中更改很多值。
一些澄清 我想在CSS文件中进行替换,所以我将整个文件加载到变量中并进行替换,因此只替换一个值的解决方案不是我想要的
答案 0 :(得分:1)
preg_replace('/(\{.*?)red(.*?\})/s', '$1blue$2', $cssString);
答案 1 :(得分:0)
试试这个:
preg_replace("/({.*)red(.*})/","${1}blue${2}",$cssString);
通过使用括号匹配字符串被保存,并且可以在替换字符串中引用为$1
。