Вставка двоеточия между выводом PHP-функции

У меня есть следующая функция PHP:

protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}

return FoxHtmlElem::create()->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean($label)))->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))->render();
}

Что выводит в список:

<dt class="field-title">Label</dt><dd class="field-content">Value</dd>
<dt class="field-title">Label</dt><dd class="field-content">Value</dd>
<dt class="field-title">Label</dt><dd class="field-content">Value</dd>

Как я могу изменить функцию, чтобы добавить двоеточие «:«в текстовом виде в выводе, например, так:

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

0

Решение

Почему бы вам не добавить его рядом с меткой, как:

<dt class="field-title">Label :</dt>

Вы можете сделать это путем объединения ‘:’ с меткой;

$label .= " : ";

Надеюсь это поможет!

2

Другие решения

Если бы вы поместили туда двоеточие, оно появилось бы, но за пределами правил и стиля списка описания.

Я предполагаю, что вы захотите это внутри тега label следующим образом:

protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}

return FoxHtmlElem::create()
->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean("{$label}:")))
->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))
->render();
}

Если вы действительно хотите, чтобы это было так, как вы изначально просили, я бы предположил, что это решение (хотя Google не знает, какие классы вы используете, и поэтому я тоже не могу, поэтому я не могу его протестировать)

protected function getFieldRow($label, $value, $encode = true)
{
if (empty($value))
{
return '';
}

return FoxHtmlElem::create()
->append(FoxHtmlElem::create('dt')->classes('field-title')->text(JFilterInput::getInstance()->clean($label)))
->append(":")
->append(FoxHtmlElem::create('dd')->classes('field-content')->html($encode ? nl2br(FoxHtmlEncoder::encode(JFilterInput::getInstance()->clean($value))) : $value))
->render();
}
1

По вопросам рекламы [email protected]