PHP取代wordpress换行符,但保留手动换行符

时间:2017-04-11 09:39:21

标签: php wordpress

我知道标题有点奇怪(我无法想到更好的标题,所以如果主持人愿意在需要时更改它),但是在制作Wordpress时我遇到了一个小问题主题。
我试图制作一个简短的标签来发布代码片段 但是,我在代码片段中使用HTML代码时遇到了问题。

这是我想要显示的文字(以这种方式):

HUEHUEHUE
<br />
<span>HELLEU</span>
<script>
console.log("hii");
console.log("test");
</script>

如您所见,我使用<br /><script></script> 通常,这些将作为HTML执行,因此我使用htmlentities()来防止这种情况 但是,它目前在代码段中显示如下:

<br />
HUEHUEHUE<br />
<br />
<span>HELLEU</span><br />
<script>
console.log("hii");
console.log("test");
</script><br />

我自己并不知道如何解决这个问题(我整晚都在搜索,并问了一些朋友,但他们也不知道)。

这是我在functions.php中使用的代码:

function code_func($atts, $content = null){
    $a = shortcode_atts( array(
      'lang' => '',
      'code' => $content,
    ), $atts );
    $codeblock = "<pre class=\"line-numbers\"><code class=\"language-".$a['lang']."\">".htmlentities($a['code'])."</code></pre>";
    return $codeblock;
}
add_shortcode( 'code', 'code_func' );

以下是帖子中的短标签代码:

[code lang="html"]
HUEHUEHUE
<br />
<span>HELLEU</span>
<script>
console.log("hii");
console.log("test");
</script>
[/code]

对于那些疑惑的人:我使用PrismJS<pre><code>标签都有类)

我希望我提供了足够的信息来获得一些帮助:) 我更喜欢看到完整的工作代码和解释(告诉我&#34;你应该这样做&#34;可能会让我感到困惑,并且难以学会实际做什么)

1 个答案:

答案 0 :(得分:0)

经过长时间的长时间搜索,我找到了this的答案,这使我能够解决问题!