如何在preg_replace php中进行数学运算

dev*_*s11 4 html php regex preg-replace preg-match

我有以下字符串

$str = ".block_1 {width:100px;}.block_2 {width:200px;}.block_3 {width:300px;}";
Run Code Online (Sandbox Code Playgroud)

我想根据此公式(pixelvalue/960)*100将百分比值替换为px值

我知道有了这样的正则表达式([0-9] + px)我可以找到所有值+ px然后我需要再次运行它用(pixelvalue/960)*100替换它.'%'

希望你明白我的意思,谢谢你的帮助.

好的,这是解决方案:

$str = preg_replace_callback(
        '([0-9]+px)',
        function ($matches) {            
            return ((str_replace('px','',$matches[0])/960)*100).'%';
        },
        $str
    );
    echo $str;
Run Code Online (Sandbox Code Playgroud)