Спеціальні HTML-символи: опис і застосування

Спеціальні HTML-символи: опис і застосування

HTML - унікальна концепція програмування. До Інтернету програмування було локальним. З появою локальних мереж воно стало багатокористувальницьким і розподіленим, але це не було настільки кардинальним явищем, як ідея гіпертексту і її стрімкий розвиток.

Особливості спецсимволів і гіпертексту

До інтернет-програмування все було строго. Є дані і є код, який їх обробляє. Є коментарі, в яких не може бути ніякого коду.

Класичне програмування допускало тільки один виняток: повернення каретки, переклад рядка, табуляцію та інші "невидимі" символи, але правильніше - дії. Це ще не HTML-символи, а тільки коди, що мають спеціальні символьні позначення. Під спеціальними символами розумілося те, що не має місця в наборах "видимих" знаків, цифр і букв національних алфавітів.

Коментарі досить швидко прийняли стандартну форму:

  • //- і всі до кінця одного рядка - це НЕ КОД;
  • /* ... будь-який текст... */- тут між "/* "і" */" може бути скільки завгодно рядків будь-якого тексту.

У коментарях ніколи не було ніякого коду, ніяких установок, ніяких доповнень до коду програми. Коментарі будь-яку мову програмування просто пропускав. Гіпертекст пішов далі (чи це зробив IE з ініціативи Microsoft?). По-перше, тут коментар позначається:

  • "<! --" - початок;
  • "-- >" - кінець, краще писати "//-- > ".

По-друге, коментар тепер може бути умовним. Саме по собі призначення коментарю іншого сенсу, ніж "пояснення за даними і кодом алгоритму"... - нонсенс.

У цьому прикладі "коментарі", виділені малиновим фоном, гарантують фатальну помилку HTML-сторінки.

Звичайні та спеціальні символи у HTML

Коди символів мають значення. Це зовсім інше значення, ніж знак, цифра або буква.


Наприклад, символ "<" - це початок тега і це завжди не безпечно для будь-якої веб-сторінки: браузер працює з тегами, і цим все сказано! Символ "<" або "HTML" < "- зовсім різні речі. А ось "символ" & lt; - це завжди і скрізь знак менше, кутова дужка або інший сенс, який людина звично вкладає в це накреслення.

Звичайні символи в мові гіпертекста отримують подвійне значення:

  • вони залишаються звичними і затребуваними;
  • деякі символи набувають статусу спеціальних.

Спеціальні HTML-символи вимагають до себе особливого ставлення. Наприклад, попередній зворотний шар "\", екранування, перетворення на цифровий код або мнемонічне позначення. Для рядка браузера всі букви кирилиці - це "спецсимволи".

Можна відписати проблему кодування символів на початок комп 'ютерної ери, коли восьмибітова таблиця вміщувала в себе тільки знаки, цифри, латиницю і національний алфавіт (наприклад, кирилицю). Інші символи були спеціальними, мали мнемонічні зображення і використовувалися для дій (управління принтером, портом, внутрішніми або зовнішніми пристроями). Але початок комп 'ютерної ери не при чому, проблема утворилася зовсім в іншому місці і в іншому сенсі.

Гіпертекст і кодування

Немає жодних сумнівів, що HTML і символи є завданням описати символи. Природно, доведеться визнати частину символів спеціальними і використовувати їх для опису самих себе та інших символів. Незважаючи на відверті ляпи з коментарями, гіпертекст - об 'єктивний результат розвитку інформаційних технологій і блискуче вирішення проблеми спеціальних символів.

В Інтернеті спецсимволам приділено так багато уваги, що проблема кодування веб-сторінки - це знання і вміння розробника. Якщо спеціальні символи HTML розробник використовує правильно, сайт працюватиме бездоганно і стабільно.

Кожен спеціальний символ має мнемонічне зображення, десятковий і шістнадцятковий код. У різних умовах застосування допустимо використання:


  • будь-якого з цих варіантів;
  • тільки одного.

Далеко не завжди і не кожен браузер повідомляє про помилкове використання спеціального символу і демонстративно йде в себе, пред 'являючи розробнику біле вікно. При фактичній наявності знань і вмінь у розробника проблем у програмуванні не буде ніколи.

CSS, XML, HTML і символи - це одна струнка система, необхідно просто трансформувати її логіку в потрібний комплекс знань і умінь. Наприклад, в коді сторінки "& laquo" - це "", але в правилі content CSS - це '\00AB '.

Поняття і застосування спеціальних символів дозволило створити цікаві ідеї. Тепер можна не турбуватися, що браузер щось зрозуміє не так. Якщо його "дратує" символ & або пробіл "" - можна використовувати мнемонічне позначення або цифровий код. Це різко збільшує кількість символів у HTML-коді, але зате результат стає надійним.

Проста складність або складна простота

Рідкісний сайт обходиться без регулярного виразу. Чудовий інструмент пошуку і заміни. Але мова формального виразу - це не символи HTML, а результат, який буде застосовано в HTML-коді. Зрозуміти і використовувати регулярні вирази - важке завдання, але звикнути можна, а ефективно використовувати - тим більше.

Принципово, серверна мова легко перетворює спеціальні символи з одного виду уявлення на інший. Наприклад (PHP):


  • $cStrClean = str_replace('<', '&lt;', $cStrClean)

або

  • $cStrClean = str_replace('&lt;', '<', $cStrClean)

У формальних виразах все мінімізовано до межі, а зворотний слеш "\", як паличка фокусника Кіо, творить чудеса. Будь-який спеціальний символ може бути екранований шаром і використаний як дане, а не як символ спецоперації.

Важливо: сторінка коду скрипту та/або веб-сторінка повинна мати правильне кодування. Рядок шаблону формального виразу також. У разі надання завжди слід трансформувати, наприклад, символи кирилиці у відповідні цифрові коди.

Межі можливого та доцільного

По суті, будь-який веб-ресурс - це джерело інформації. Книжка - це не сайт, але теж джерело інформації. Всі звикли, що книжка має текст та ілюстрації. Тексту властиво "обтікати" ілюстрації та вирівнюватися за правим кордоном.

Використання комп 'ютерів і текстових редакторів спростило подання та використання інформації, але не слід просто переносити ці знання і вміння на інтернет-програмування та сторінки HTML. Символ перенесення, кінець абзацу, табуляція тощо - затребувані спеціальні символи, що мають практичне значення, але в інтернет-програмуванні краще їх не застосовувати.


HTML - це концептуально повне рішення. Тут є все, що потрібно і на "всі випадки". Той факт, що є ляп з коментарями - це свідчення швидкості розвитку ідеї, а не фатальна тріщина концептуального характеру. У програмуванні накопичилося безліч незграбностей, але це не привід ламати фундамент і будувати нову будівлю з нуля.

Сьогодні є досить багато іншої роботи і немає підстав щось кардинально змінювати. Розробники звикли до концепції HTML, в неї вдало імплантовано використання спеціальних HTML-символів. Накопичено ефективний і практичний досвід. Практики можуть спокійно працювати, а теоретикам ніхто не заважає розвивати нові ідеї.

Формалізація, коментарі та мови

Знання і вміння в галузі формалізації ефективні, великі і практичні. Але саме вірне рішення - йти далі. Природна мова - це і сьогодні недосяжна вершина досконалості.

Коментарі в будь-якому коді повинні містити мінімум інформації і тільки з єдиною метою - щось пояснити. Тут не повинно бути ні коду, ні спеціальних символів. Фраза, взята в лапки в тілі коментаря, може призвести до проблеми на сторінці сайту. Мови програмування давно забули про вимогу сумісності. Вільні типи даних і орієнтація на конкретну версію мови для розробника - нормальне явище.

Ці три позиції - достатні підстави для безперервного розвитку знань і умінь, накопичення досвіду практичної роботи з розробки стабільних, надійних і безпечних веб-ресурсів. Найголовніша особливість сучасного інтернет-програмування - стрімка динаміка розвитку. Бути в курсі і володіти ситуацією - гарне правило для професійного розробника.