用php正则表达式将css文件里的宽度小于600px的像素值增加1.5倍

用php正则表达式将html文件里的宽度小于600px的像素值增加1.5倍,
请注意:
1)宽度为百分比的值保持不变;
2)像素值大于600px的宽度保持不变;
3)其他非宽度像素值保持不变;
4)兼容性尽量高点,比如css文件、html文件还有js代码等等
非常感谢!
最新回答
亡命天涯不如早点回家

2024-04-17 10:41:00

css文件(style.css)

.div1 {
    width: 800px;
    height: 322px;
}

.div2 {
    width: 30px;
    height: 14px;
}

php文件:

$css_file = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'style.css';
if (file_exists($css_file)){
$css_content = file_get_contents($css_file);
$css_content = preg_replace_callback('/width:\s*(\d+)px/im', 'callback_replace_width', $css_content);
file_put_contents($css_file, $css_content);
}

function callback_replace_width( $matches ){
if($matches[1]<600){
$matches[0] = 'width: ' . ($matches[1] * 1.5) . 'px';
};

return $matches[0];
}

输出结果:

.div1 {
    width:800px;
    height: 322px;
}

.div2 {
    width: 45px;
    height: 14px;
}
囚我在心上

2024-04-17 00:10:26

你想太多了,如果用PHP,那就需要用PHP来读取这些HTML和CSS代码来做判断,这是最慢的做法,
最便捷的办法,用JS或者JQ来读取,判断。

或者用CSS的@media具体做法,你查阅,它的资料,可以找到用法。;
空自忆

2024-04-17 02:42:16

用毛php正则啊,用js操作dom就可以啊,js判断div是否宽度600一类的,在说了js也可以用正则啊
抹茶落季

2024-04-17 03:00:17

不知道你在搞什么?