【发布时间】:2016-10-26 01:12:35
【问题描述】:
我有一个 textarea 填充了颜色代码,如 000000 和 ffffff 每种颜色都在单独的行上,所以看起来像:
000000
111111
222222
现在我将这些转换为实际的内联背景颜色:
$bgclass = $params->get('bgclass');
$bgcolors = $params->get('bgcolors');
$bglines = explode("\n", $bgcolors);
if ( !empty($bglines) ) {
echo "<style>";
foreach ( $bglines as $bgline ) {
echo "." . $bgclass . "-" . $bgline . "{background:#" . $bgline . ";}" . "\r\n";
}
echo "</style>";
}
现在输出如下:
<style>
.bg-000000
{background:#000000
;}
.bg-111111
{background:#111111
;}
.bg-222222
{background:#222222
;}
</style>
我怎样才能得到这样的输出:
<style>
.bg-000000{background:#000000;}
.bg-111111{background:#111111;}
.bg-222222{background:#222222;}
</style>
【问题讨论】:
-
trim 你的值来自 foreach。所以他们不再有新行了。
-
或
explode\r\n。 -
@Rizier123 我尝试了你所说的并做到了
echo "." . $bgclass . "-" . trim($bgline) . "{background:#" . trim($bgline) . ";}" . "\r\n";效果很好。非常感谢。你能把它变成一个答案吗? -
@AbraCadaver 我不知道该怎么做?我应该这样做:
$bglines = explode("\r\n", $bgcolors); -
@AbraCadaver 我的错我打错了,这就是为什么它给出了一个错误
/t/n不会删掉它。 :-) 使用/r/n就像你说的那样它正在工作。谢啦。那么最好的做法是什么?什么是最佳实践?你能在答案中也做到这一点吗?
标签: php foreach explode line-breaks