首页 > 解决方案 > PHP 查找和替换,将任意数字减半(例如 col-xs-24 到 col-xs-12)

问题描述

我们正在将引导内容从 24 列迁移到 12 列。

所以我需要转换一个字符串,如:

<div class="col-xs-24 col-md-12 col-lg-4">

至:

<div class="col-xs-12 col-md-6 col-lg-2">

我无法理解提取数字所需的 preg_replace,将其减半,然后将其放回原位。

标签: phptwitter-bootstrap-3preg-replace

解决方案


感谢 u_mulder 建议 preg_replace_callback。

设法做到了...

$string = '<div class="col-xs-24 col-md-12 col-lg-4">';

$out = preg_replace_callback(
            '/col\-\w{1,2}-(\d{1,2})/', 
            function ($matches) {
                return str_replace($matches[1], ($matches[1] / 2), $matches[0]);
            }, 
            $string
       );

推荐阅读