PHP正则表达式匹配所有,除非包含逗号

时间:2019-03-30 23:40:30

标签: php regex preg-match-all

我尝试从css字体文件中获取所有值匹配项,但是我需要在特定字符串后排除逗号!

我的模式:/\.(icon-(?:\w+(?:-)?)+):before\s+{\s*content:\s*"(.+)";\s+}/

这将为我提供带有图标列表的php数组,我需要做的是在:before之类的逗号之前添加到:before,因此如果它在:before之后包含逗号,则将转义。

我的代码:

$css     = file_get_contents( $path );
$pattern = '/\.(' . $class_prefix . '(?:\w+(?:-)?)+):before(?:!,)\s+{\s*content:\s*"(.+)";\s+}/';

preg_match_all( $pattern, $css, $matches, PREG_SET_ORDER );

$icons = array();

foreach( $matches as $match ){
  $icon       = $class_prefix . ' ' . $match[1];
  $icon_class = $match[1];
  $icon_name  = str_replace( $class_prefix . '-', '', $match[1] );
  $icon_code  = stripslashes( $match[2] );

  $icons[] = $icon_class;
}

return $icons;

我正在尝试从文件CSS File中读取数据,并获取图标的所有.ion-content参数。

0 个答案:

没有答案