如何保存&amp;在<pre><code></code></pre>

时间:2010-04-30 03:35:27

标签: php html wordpress escaping markup

我在博客上的代码示例中保留&符号时遇到问题,因为所有HTML实体都以&amp;开头。

任何提示?

例如:

<pre>
<code>
<?php 
$pageTitle = str_replace('&', ' &amp;', $page->attributes()->title);
?>
</code>
</pre>

呈现为:

<?php 
$pageTitle = str_replace('&', '&', $page->attributes()->title);
?>

2 个答案:

答案 0 :(得分:4)

我不确定它是否是最佳选项,但一种解决方法是将其双重转义:

str_replace('&', ' &amp;amp;', $page->attributes()->title);

这样,第一个&amp;显示为文字&符号,然后剩余的amp;显示为文字文字。

答案 1 :(得分:2)

您需要使用htmlentities()对字符串进行编码。例如,

<pre>
<code>
<?php
echo htmlentities("$pageTitle = str_replace('&', ' &amp;', $page->attributes()->title)");
?>
</code>
</pre>