Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中从字符串中获取冒号分隔的值_Php_Regex_Preg Match All - Fatal编程技术网

如何在php中从字符串中获取冒号分隔的值

如何在php中从字符串中获取冒号分隔的值,php,regex,preg-match-all,Php,Regex,Preg Match All,我有一根绳子 $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); 此输出有三个问题 1.它是二维或三维数组,我需要一维数组。 2.它在重复信

我有一根绳子

$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);
此输出有三个问题 1.它是二维或三维数组,我需要一维数组。 2.它在重复信息 3.它在每个元素的末尾追加“:”

我需要一个这样的数组

array
0 => 'font-color'
1 => 'font-weight'
2 => 'background-color'
取出结肠:

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

var_dump($matches['names']);
$style=“font-color:#000;font-weight:粗体;背景色:#fff”;
preg_match_all('/(?[a-z\-]+):/',$style,$matches);
变量转储($matches['names']);
然后使用
$matches['names']
,因为您命名了它,所以您没有多余的信息

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

var_dump($matches['names']);