在 PHP 函数输出中组合附加值

Combining Appended Values in PHP Function Output

我有以下 PHP 函数,其中 "renders" 是附加值的输出:

protected function getFieldRow($label, $value, $encode = true)
{
    if (empty($value))
    {
        return '';
    }       
    return FoxHtmlElem::create()->append(FoxHtmlElem::create('div')->classes('field-title')->text(JFilterInput::getInstance()->clean($label .= ": ")))->append(FoxHtmlElem::create('div')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))->render();
}

输出到这样的列表:

<div class="field-title">Label : </div><div class="field-content">Value</div>
<div class="field-title">Label : </div><div class="field-content">Value</div>
<div class="field-title">Label : </div><div class="field-content">Value</div>

我如何更改函数,以便它将两个附加值组合在同一个 div 中,如下所示:

<div class="field-content">Label : Value</div>
<div class="field-content">Label : Value</div>
<div class="field-content">Label : Value</div>

谢谢。

看起来你想这样做:

<?php

return FoxHtmlElem::create()
->append(FoxHtmlElem::create('div')
->classes('field-content')
->html( JFilterInput::getInstance()->clean($label .= ":&nbsp;"). ($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value)))->render();

只需将标签变量移动到 HTML 方法中,而不是创建一个单独的 div。