将更少的变量解析到PHP中

将更少的变量解析到PHP中,php,regex,parsing,less,Php,Regex,Parsing,Less,你能帮我吗 我有一个变量较少的文件,例如 /** preloader colors **/ @preloader_bg: #0081ff; @preloader_color: #fff; /** layout **/ @body_bg_image_position: ~'left top'; @body_bg_image_repeat: ~'no-repeat'; @body_bg_image_cover: ~'auto'; @body_bg_image: ~''; 我需要将此文件解析为PH

你能帮我吗

我有一个变量较少的文件,例如

/** preloader colors **/
@preloader_bg: #0081ff;
@preloader_color: #fff;

/** layout **/
@body_bg_image_position: ~'left top';
@body_bg_image_repeat: ~'no-repeat';
@body_bg_image_cover: ~'auto';
@body_bg_image: ~'';
我需要将此文件解析为PHP并获得如下数组:

$less_vars = array(
  'preloader_bg' => '#0081ff',
  'body_bg_image_position' => 'left top'
);

这可以通过正则表达式或任何其他方式完成吗?

您可以逐行迭代输入,然后在
处拆分行。在进行一些清理之后,这应该会为您提供键及其值


您可以逐行迭代输入,然后在
处拆分行。在进行一些清理之后,这应该会为您提供键及其值


您还可以使用一个正则表达式:

^@([^:]+):[~\s]*(['\"]?)([^;]*)\\2;?$
PHP():

输出:

array(6) {
  ["preloader_bg"]=>
  string(7) "#0081ff"
  ["preloader_color"]=>
  string(4) "#fff"
  ["body_bg_image_position"]=>
  string(8) "left top"
  ["body_bg_image_repeat"]=>
  string(9) "no-repeat"
  ["body_bg_image_cover"]=>
  string(4) "auto"
  ["body_bg_image"]=>
  string(0) ""
}

您还可以使用一个正则表达式:

^@([^:]+):[~\s]*(['\"]?)([^;]*)\\2;?$
PHP():

输出:

array(6) {
  ["preloader_bg"]=>
  string(7) "#0081ff"
  ["preloader_color"]=>
  string(4) "#fff"
  ["body_bg_image_position"]=>
  string(8) "left top"
  ["body_bg_image_repeat"]=>
  string(9) "no-repeat"
  ["body_bg_image_cover"]=>
  string(4) "auto"
  ["body_bg_image"]=>
  string(0) ""
}

切换到SASS,因为PHP有一个很棒的SASS解析器。另外,由于LESS和SASS是只应该被解析的语言,所以不要向后工作。谢谢,但是LESS not SASS中当前的问题是,您应该说明您到目前为止已经尝试了什么,以便其他人知道您已经做了一些研究或尝试了什么。否则,你不可能得到答案。请参阅StackOverflow帮助中心。@如果有人无法帮助切换到SASS,则没有问题,因为PHP有一个很棒的SASS解析器。另外,由于LESS和SASS是只应该被解析的语言,所以不要向后工作。谢谢,但是LESS not SASS中当前的问题是,您应该说明您到目前为止已经尝试了什么,以便其他人知道您已经做了一些研究或尝试了什么。否则,你不可能得到答案。请参阅StackOverflow帮助中心。@Sherif如果没有问题,如果有人帮不上忙,这就是我现在想的,非常感谢!这就是我现在想的,非常感谢!你是职业选手!非常感谢你!你是职业选手!非常感谢你!