Как сохранить & в <pre><code> - PullRequest
1 голос
/ 30 апреля 2010

У меня проблемы с сохранением амперсанда в примере кода на моем блоге, потому что все сущности HTML начинаются с &.

Любые советы?

Например:

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

Отображается как:

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

Ответы [ 2 ]

4 голосов
/ 30 апреля 2010

Я не уверен, что это лучший вариант, но один из обходных путей - это двойной выход из него:

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

Таким образом, первый &amp; отображается в виде буквального амперсанда, а остальные amp; отображаются в виде буквального текста.

2 голосов
/ 30 апреля 2010

Вам необходимо закодировать строку с помощью htmlentities (). Например,

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

...