以下是如何编译文件:
的示例$lines = [];
exec("lessc $file", $lines, $status);
$output = implode("", $lines);
我想在没有创建临时文件的情况下理想地编译一个字符串,写入它,然后调用exec来编译该文件。我的unix技能并不是很好,所以我尝试了一些不起作用的变体:
$lines = [];
exec("lessc < \"$string\"", $lines, $status);
$output = implode("", $lines);
答案 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();