【问题标题】:How to display HTML output from PHP return function如何显示 PHP 返回函数的 HTML 输出
【发布时间】: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 &lt;i [...]/&gt; 的函数,但您希望它返回&lt;i [...]/&gt; 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()?关键是如何判断将字符串回显为原始字符串而不进行转义

标签: php html


【解决方案1】:

您应该在返回函数中尝试 echo() 函数。我希望它会起作用。

【讨论】:

  • 这应该是评论。此外,函数永远不应该负责输出内容
猜你喜欢
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多