如何使用lessc编译LESS字符串

时间:2014-08-10 10:39:41

标签: php unix

以下是如何编译文件

的示例
$lines = [];
exec("lessc $file", $lines, $status);
$output = implode("", $lines);

我想在没有创建临时文件的情况下理想地编译一个字符串,写入它,然后调用exec来编译该文件。我的unix技能并不是很好,所以我尝试了一些不起作用的变体:

$lines = [];
exec("lessc < \"$string\"", $lines, $status);
$output = implode("", $lines);

1 个答案:

答案 0 :(得分:2)

如果您在控制台中运行lessc --help,那么您将:

  

用法:lessc [选项选项=参数...] [目的地]

     

如果source设置为` - &#39; (破折号或连字符减号),读取输入   标准输入。

以上功能使您可以运行(参见:Send string to stdin):

echo "@color:red; p{color:@color;}" | lessc -

lessc - <<< "@color:red; p{color:@color;}"

确实less.php可以:

$parser = new Less_Parser();
$parser->parse( '@color: #4D926F; #header { color: @color; } h2 { color: @color; }' );
$css = $parser->getCss();