代码之家  ›  专栏  ›  技术社区  ›  Fobos

使用Regex PHP从内联样式值解析和创建关联数组[closed]

  •  -1
  • Fobos  · 技术社区  · 7 年前

    我有这样的内联CSS

    text-align:center; float:left;width:18%;
    

    期望值

    Array
    (
        [text-align] => center
        [float] => left
        [width] => 18%
    
    )
    

    有谁能建议我用正则表达式来完成这项任务吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Fobos    7 年前

    我找到了解决办法

    $r = array();
    preg_match_all("/([\w-]+)\s*:\s*([^;]+)\s*;?/", 'text-align:center; float:left;width:18%;', $arr, PREG_SET_ORDER);
    foreach ($arr as $v) {
      $r[$v[1]] = $v[2];
    }
    

    演示 https://regex101.com/r/qxanGV/1/

    添加解释用法 https://regexr.com/3tcik