top-shop.ru
Декоративная тарелка 'Рождество

Почему сложно опубликовать программу в виде HTML?

© 2004 автор canegor@mail.ru все права защищены
Если Вы хотите опубликовать текст (исходный код) своей программы в документе HTML, то Вы столкнетесь с проблемой экранирования специальных символов и нарушением форматирования текста. Если в Вашем исходном коде встречается знак больше > или меньше <, то возникнут большие проблемы. Дело в том, что с этих знаков начинаются инструкции языка HTML - они не могут быть использованы в тексте документа.
Решение проблемы:
  1. Желательно текстовый знак & заменить на специальный символ &amp;
  2. Чтобы сохранились отступы строк, введенные пробелами, код программы нужно поместить в дескриптор
    <pre>
     код программы
    </pre>.
  3. Текстовый знак < надо заменить на специальный символ &lt;
  4. Текстовый знак > надо заменить на специальный символ &gt;

Для автоматизации алгоритма выберем JavaScript & HTML, действующий скрипт, я встроил в эту страницу и Вы можете тестировать пример прямо на странице :). Сначала средствами HTML опишем форму - текстовое поле для ввода исх. текста, поле для результата и кнопку "Конверсия".



Вот мое решение проблемы: (фрагмент страницы HTML, обеспечивающей этот сервис)
<script language="JavaScript">
<!--
function cnv()
{
ztext = "<pre>";
for(i=0;i<document.forms.conv.stdin.value.length;i++)
{ a=document.forms.conv.stdin.value.charAt(i);
  if (a=="&") a="&amp;";
  if (a==">") a="&gt;";
  if (a=="<") a="&lt;";
  ztext=ztext+a;
};
ztext=ztext+"</pre>";
document.forms.conv.stdout.value=ztext;
return false;
};
//-->
</script>
<div align="center">
<form name="conv" onSubmit="return cnv();">
<textarea rows="5" cols="50" name="stdin">
Вставьте сюда код программы из буфера обмена. И нажмите кнопку "Конверсия".
</textarea><br>
<textarea rows="5" cols="50" name="stdout">
</textarea><br>
<input type="submit" value="Конверсия">
</form>
</div>

Содержание.