0

我有一个字符串

$style = "font-color:#000;font-weight:bold;background-color:#fff";

我只需要

font-color
font-weight
background-color

我试过了

preg_match_all('/(?<names>[a-z\-]+:)/', $style, $matches);

var_dump($matches);

它给了我以下输出

array
  0 => 
    array
      0 => string 'font-color:' (length=11)
      1 => string 'font-weight:' (length=12)
      2 => string 'background-color:' (length=17)
  'names' => 
    array
      0 => string 'font-color:' (length=11)
      1 => string 'font-weight:' (length=12)
      2 => string 'background-color:' (length=17)
  1 => 
    array
      0 => string 'font-color:' (length=11)
      1 => string 'font-weight:' (length=12)
      2 => string 'background-color:' (length=17)

此输出存在三个问题 1. 它是二维或三维数组,我需要一维数组。2.重复信息 3.在每个元素的末尾附加“:”。

我需要一个这样的数组

array
0 => 'font-color'
1 => 'font-weight'
2 => 'background-color'
4

1 回答 1

2

取出结肠:

$style = "font-color:#000;font-weight:bold;background-color:#fff";
preg_match_all('/(?<names>[a-z\-]+):/', $style, $matches);

var_dump($matches['names']);

然后使用$matches['names'],因为你命名它,所以你没有多余的信息

于 2013-03-28T18:06:47.070 回答