【发布时间】:2022-12-31 21:47:04
【问题描述】:
我面临一个问题。我正在尝试从函数返回名称并尝试从 html 代码添加手动验证的复选标记。我可以直接在php返回函数中添加html代码。
我得到的输出
Name <i class="fa fa-check-circle" style="font-size:22px;color:green"/>
代码是
public function getDisplayName()
{
/** @var Module $module */
$module = Yii::$app->getModule('user');
if ($module->displayNameCallback !== null) {
return call_user_func($module->displayNameCallback, $this);
}
$name = '';
$format = Yii::$app->settings->get('displayNameFormat');
if ($this->profile !== null && $format == '{profile.firstname} {profile.lastname}') {
$name = $this->profile->firstname . ' ' . $this->profile->lastname;
if (($this->profile->user_id == 1)){
$check_mark = '<i class="fa fa-check-circle" style="font-size:22px;color:green"/>';
}
else{
$check_mark = '';
}
}
// Return always username as fallback
if ($name == '' || $name == ' ') {
return $this->username;
}
return $name . ' '. $check_mark;
}
请建议我如何解决这个问题
返回函数无法显示HTML代码的输出,但是我想显示
<i class="fa fa-check-circle" style="font-size:22px;color:green"/>
上面的代码输出在名称之后。
我得到的输出: Output Screenshot
【问题讨论】:
-
问题不清楚。与此同时,我最好缩进你的代码。无论如何,您似乎有一个返回
Name <i [...]/>的函数,但您希望它返回<i [...]/> Name? -
@DiegoD 我想显示 HTML 代码的输出,HTML 代码在名称后可见,我想显示 HTML 代码的输出。例如现在我得到输出 John <i class="fa fa-check-circle" style="font-size:22px;color:green"/>
-
@DiegoD 我得到的输出:[Output Screenshot][1] [1]: i.stack.imgur.com/JComL.png
-
好的,终于清楚了。问题是您的模板系统正在转义字符串。你在哪里调用函数 getDisplayName()?关键是如何判断将字符串回显为原始字符串而不进行转义