簡體   English   中英

在PHP字符串中渲染引號

[英]Rendering Quote Marks in PHP String

我有一個PHP函數,在html中呈現時會輸出引號。

onload="this.rel='stylesheet'"

我想要的是以下內容:

onload="this.rel='stylesheet'"

這是導致第一個示例發生的函數-有人知道我可以解決這個問題嗎?

public function get_css($opts, $index, $count)
    {
        $out = array();

                $version = filemtime($_SERVER['DOCUMENT_ROOT'].'/assets/css/app.min.css');
                $str = "this.rel='stylesheet'";
                $out[] = $this->_single_tag('link', array(
                    'rel'=>'preload',
                    'as'=>'style',
                    'type'=>'text/css',
                    'href'=>'/assets/css/app.min.'.$version.'.css',
                    'onload'=>$str,
                ));

        return implode("\n\t", $out)."\n";

    }

這是_single_tag的功能

protected function _single_tag($tag=false, array $attrs)
{
    if ($tag===false) return;

    return PerchXMLTag::create($tag, 'single', $attrs);
}

問題來自PerchXMLTag::create()方法,該方法對提供給它的值進行一些HTML編碼。

查看Perch文檔 ,似乎沒有辦法禁用它,因此我的建議是將get_css函數中的代碼替換為僅輸出原始HTML的內容:

public function get_css($opts, $index, $count)
{
    $out = array();

    $version = filemtime($_SERVER['DOCUMENT_ROOT'].'/assets/css/app.min.css');
    $str = "this.rel='stylesheet'";
    $out[] = "<link rel='preload' as='style' type='text/css' href='/assets/css/app.min.{$version}.css' onload='{$str}' />";

    return implode("\n\t", $out)."\n";

}
public function get_css($opts, $index, $count)
{
    $out = array();

            $version = filemtime($_SERVER['DOCUMENT_ROOT'].'/assets/css/app.min.css');
            $str = "this.rel=\"stylesheet\"";
            $out[] = $this->_single_tag('link', array(
                'rel'=>'preload',
                'as'=>'style',
                'type'=>'text/css',
                'href'=>'/assets/css/app.min.'.$version.'.css',
                'onload'=>$str,
            ));

    return implode("\n\t", $out)."\n";

}

試試吧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM