Позволить тег code в сообщениях

4 views
Skip to first unread message

Ann SaBoNim

unread,
May 19, 2008, 10:25:33 AM5/19/08
to NanoGrabbr
Посмотреть как коверкает движок код можно на этой странице -
http://annsab.cwx.ru/texts/27.
У меня вопрос:
как сделать так чтобы он не интерпретировал содержимое code. Как
позволить этот тег?
Например, в посте по ссылке код php отображается нормально пока не
встречается <code><li></code>, и далее - <code><div class=""></code>
тоже не видны...
Помогите, пожалуйста разобраться.

Ostrerov Ilya

unread,
May 19, 2008, 1:02:04 PM5/19/08
to nanog...@googlegroups.com
19 мая 2008 г. 18:25 пользователь Ann SaBoNim <a.sa...@gmail.com> написал:

> Посмотреть как коверкает движок код можно на этой странице -
А при чем тут движок? :) Если взять гранату, засунуть ее в дорогой
автомобиль, отбежать в сторону и зажать уши, можно ли потом обвинять
автомобиль в том, что граната его корёжит?
Вы автор блога, в ваших силах еще и не так искорежить свой собственный
блог. Никакой защиты от неправильных тегов в движке нет, все в ваших
руках и в ваших знаниях HTML.

> http://annsab.cwx.ru/texts/27.
> У меня вопрос:
> как сделать так чтобы он не интерпретировал содержимое code. Как
> позволить этот тег?

Этот тег никто и не запрещал. Он присутствует в коде вашей страницы.
Просто в HTML нет такого тега и браузер не понимает, как его нужно
обрабатывать.
Судя по тому, что вы публикуете php-код, вы знаете, что существует
функция htmlspecialchars (http://ru2.php.net/htmlspecialchars) вот
она-то и может вам помочь. Весь ваш код нужно прогнать через нее, что
бы в нем не осталось тегов, а бали лишь сущности (вместо < и >
появились &lt; и &gt; и т.п.)
Это должно помочь...
Если не получится побороть проблему - пришлите мне код, который
пытаетесь вставить, я объясню как его преобразовать.

> Например, в посте по ссылке код php отображается нормально пока не
> встречается <code><li></code>, и далее - <code><div class=""></code>
> тоже не видны...
> Помогите, пожалуйста разобраться.

--
Илья Остреров

Ann SaBoNim

unread,
May 20, 2008, 1:45:31 PM5/20/08
to NanoGrabbr


> А при чем тут движок? :) Если взять гранату, засунуть ее в дорогой
> автомобиль, отбежать в сторону и зажать уши, можно ли потом обвинять
> автомобиль в том, что граната его корёжит?
> Вы автор блога, в ваших силах еще и не так искорежить свой собственный
> блог. Никакой защиты от неправильных тегов в движке нет, все в ваших
> руках и в ваших знаниях HTML.

Да, извините что плохо отозвалась о движке. Работаю с Dupal, там при
публикации теги <code> делают все это. Привыкла, расслабилась и уже
забыла что нужно заменять.

> Этот тег никто и не запрещал. Он присутствует в коде вашей страницы.
> Просто в HTML нет такого тега и браузер не понимает, как его нужно
> обрабатывать.
> Судя по тому, что вы публикуете php-код, вы знаете, что существует
> функция htmlspecialchars (http://ru2.php.net/htmlspecialchars) вот
> она-то и может вам помочь. Весь ваш код нужно прогнать через нее, что
> бы в нем не осталось тегов, а бали лишь сущности (вместо < и >
> появились &lt; и &gt; и т.п.)
> Это должно помочь...
> Если не получится побороть проблему - пришлите мне код, который
> пытаетесь вставить, я объясню как его преобразовать.

Спасибо большое что наставили на путь истинный и подсказали столь
подробно все что я забыла.
Вот что у меня вышло (не без помощи добрых людей) - программка выводит
после нажатии на кнопку готовый к публикации код, в котором заменены
все < и > на &lt; и &gt;:
<?php
if ($_REQUEST["string"] == NULL){
print <<<HERE
<form>
<textarea name = "string"
rows = 20
cols = 120></textarea>
<br />
<input type = "submit"
value = "Преобразовать">
</form>
HERE;
} else {
print '<textarea rows = 20 cols =
120>'.htmlspecialchars(htmlspecialchars($string)).'</textarea>';
} // end if
?>
Reply all
Reply to author
Forward
0 new messages