0

我正在尝试使用 lessphp 文档中描述的方法将一些 php 变量注入到我的 less css 中。我可以:

$lc = new lessc;
$lc->setVariables(array("stylesheetURI" => "foo/bar"));

这最终让我可以做到:

background-image: url("@{stylesheetURI}/img/logo.jpg");

结果是:

background-image: url("foo/bar/img/logo.jpg");

这一切都很完美,就像一个魅力......

但是,我更愿意将完整的 URL 添加到我的图像路径中。所以我在做:

$lc = new lessc;
$lc->setVariables(array("stylesheetURI" => "http://mydomain.com/foo/bar"));

但这会导致:

background-image: url("http/img/logo.jpg");

这显然是错误的。有没有其他人看到这个问题?我已经在lessc.inc.php 类中进行了挖掘,但它有点像野兽,我还没有设法找到问题所在。我认为它与结肠有关 - 有人知道如何逃脱吗?我尝试了反斜杠,但这不起作用。

谢谢大家

4

1 回答 1

1

我试试

$less = new lessc;
$less->setVariables(array(
    'rdir'=> '"/resources/default"'
));
echo $less->compileFile($lessFileName);

我有更少的文件

img{
    background-image: url(@{rdir}/img.jpg);
}

在输出中我有:

img {
  background-image: url(/resources/default/img.jpg);
}

当我尝试

$less->setVariables(array(
    'rdir'=> '"http://example.com/resources/default"'
));

我明白了

img {
  background-image: url(http://example.com/resources/default/img.jpg);
}

lessphp v0.3.9 你可以尝试添加带引号的字符串变量 '" http://example.com/ "'

于 2013-04-07T15:53:45.160 回答