Phug PHP - 变量打印两次

Phug PHP - Variable is printing twice

创建基于 mediawiki APIs 和 运行 的 wiki 遇到一些问题。

我的代码有三个变量:

我在服务器上渲染这些变量已经看到这里:


$wikipage = $pug->render('views/wiki.pug', array(
        'title' => htmlspecialchars($wiki),
        'content' => $output,
        'edit' => $edit
    ));
echo $wikipage;

$输出是:

<h3> Riverside Rocks API Documentation </h3>
<p>Welcome to the Riverside Rocks API docs!</p>
<p>Base URL: https://riverside.rocks</p>
<p>(HTTPS is required)</p>
<h5> Getting your API key </h5>
<p><a href="https://riverside.rocks/account/login?_ref=wiki" class="external">Sign in to Riverside Rocks</a>. Open your browser's developer tools and run console.log(key);</p>
<p><b>Chat API</b></p>
<p>Endpoint: /v1/new Type: GET</p>
<p>Parameters:</p>
<ul>
<li> key</li>
<li> m (message)</li>
<li> c_id (channel name)</li>
</ul>
<p>Example:</p>
<p>https://example.com/v1/new?m=Hello!&c_id=general&key=12345</p>

$标题是:

API

$edit 是:

https://example.com/index.php?title=API&action=edit

我的哈巴狗模板文件像这样打印这些变量:

include head.pug
h1 #{title} - Wiki

#{content}
br
a(href=edit target="_blank") Edit this page

一切正常,除了内容变量被打印两次的页面。我进行了一些调试,发现这是 Pug 的问题,因为当我在 PHP 服务器文件中打印变量时,它返回了打印一次的预期值。关于我可以做些什么来解决这个问题的任何想法?我用来将 PugJs 移植到 PHP 的包是 "Phug"

你看到的是#{content},这是一个动态标签:

- content = 'div'
#{content} Foo

(在 Phug 或 Pug.js 中相同)

呈现:

<div>Foo</div>

要将变量作为原始 HTML 内容插入,您只需要:

!=content

或者先是一个文本节点:

| !{content}

请注意,如果您已经在模板中转义,则不应使用 htmlspecialchars| #{content} 已转义,| !{content} 显示为原始格式,=content 已转义, !=content 是原始的。