IlmHamroh
JavaScript Full-stack/4-qism. HTML12/86-dars11 daqiqa
Mundarija (28)

HTML maxsus belgilar va entity'lar: «», —, © va o'zbek apostrofi

Qisqacha: Entity — belgini & bilan boshlanib ; bilan tugaydigan yozuv orqali ko'rsatish usuli: &lt; → <, &copy; → ©. UTF-8 sahifada deyarli hamma belgini (« », —, …, emoji) to'g'ridan-to'g'ri yozish mumkin. Entity faqat xizmat belgilari (<, &, atribut ichidagi qo'shtirnoq) va ko'rinmas belgilar (&nbsp;) uchun majburiy.

Bu darsda

  • Nomli (&copy;) va raqamli (&#169;, &#xA9;) entity'larni yoza olasiz.
  • Qaysi belgilar albatta escape qilinishi kerakligini bilasiz.
  • UTF-8 davrida entity qachon kerak, qachon ortiqcha ekanini ajratasiz.
  • O'zbek tipografiyasi — qo'shtirnoq, tire, uch nuqta — bilan to'g'ri ishlaysiz.
  • O'zbek apostrofining turli shakllari va ularning oqibatlarini tushunasiz.

Oldin bilishingiz kerak: Kod va texnik matnni ko'rsatish, Matn kodlash: ASCII, Unicode va UTF-8.

1. Nega bu kerak?

Oldingi darslarda bir nechta g'alati yozuvni ishlatdik: &nbsp;, &shy;, &lt;, &amp;. Har safar "batafsil keyinroq" dedik. Endi shu "keyinroq" keldi.

Bu dars ikki savolga javob beradi. Birinchisi — texnik: qaysi belgilarni HTML'da to'g'ridan-to'g'ri yozib bo'lmaydi. Ikkinchisi — madaniy: o'zbekcha matnni qanday chiroyli va to'g'ri yozish kerak. Qo'shtirnoq, tire, apostrof — bular o'zbek tilida o'z qoidalariga ega. Sayt esa shu qoidalarni aks ettirishi kerak.

2. Entity nima?

2.1 Tuzilishi

Entity (character reference) — belgini uning nomi yoki raqami orqali yozish. Doim uch qismdan iborat:

Qism Misol Ma'nosi
Boshlanish & "Entity boshlandi"
Nom yoki raqam copy yoki #169 Qaysi belgi
Tugash ; "Entity tugadi"

&copy; → ©. Brauzer entity'ni o'qib, uning o'rniga belgini ko'rsatadi.

2.2 Uch xil yozuv

Bitta belgini uch xil yozish mumkin:

html
<p>&copy; 2026 Choyxona «Bahor»</p>
<p>&#169; 2026 Choyxona «Bahor»</p>
<p>&#xA9; 2026 Choyxona «Bahor»</p>

Uchalasi ham brauzerda bir xil: "© 2026 Choyxona «Bahor»".

  • &copy; — nomli entity. Eslab qolish oson, lekin hamma belgining nomi yo'q.
  • &#169; — o'nlik raqamli. 169 — belgining Unicode raqami.
  • &#xA9; — o'n oltilik raqamli. x dan keyin o'sha raqam hex'da: A9 = 169.

Matn kodlash darsida ko'rdik: har bir belgining Unicode'da o'z raqami (code point) bor, masalan U+00A9. Raqamli entity aynan shu raqamni ishlatadi. Shuning uchun u istalgan belgini yoza oladi — hatto nomi bo'lmaganini ham. Hex yozuvni esa O'n oltilik sanoq sistemasi darsidan bilasiz.

Bo'sh joyni to'ldiring: &#xA9; dagi x qaysi sanoq sistemasini bildiradi? O'n sanoq sistemasini.

3. Majburiy escape: to'rt belgi

Ba'zi belgilar HTML'ning o'zida xizmat qiladi. Ularni matn sifatida ko'rsatish uchun entity majburiy.

Belgi Entity Qachon majburiy
< &lt; Matnda doim — aks holda teg boshlanadi
& &amp; Entity'ga o'xshab qolsa (xavfsizlik uchun — doim)
" &quot; Qo'shtirnoqli ("...") atribut qiymati ichida
' &apos; Bittalik tirnoqli ('...') atribut qiymati ichida

> ni escape qilish odatda shart emas, lekin o'tgan darsda ko'rganimizdek, simmetriya uchun &gt; yozish odat.

3.1 Atribut ichidagi qo'shtirnoq

Choyxona nomi qo'shtirnoq ichida bo'lsa-chi?

html
<p title="Choyxona "Bahor"">Salom</p>

Brauzer birinchi ichki " da qiymatni yopadi: title — faqat "Choyxona ". Qolgani esa buzilgan atributlarga aylanadi. Validator bir nechta xato beradi. To'g'risi:

html
<p title="Choyxona &quot;Bahor&quot;">Salom</p>

Yoki oddiyroq — ichida boshqa turdagi qo'shtirnoq ishlating: title="Choyxona «Bahor»". O'zbekcha matnda « » bu muammoni umuman chiqarmaydi.

3.2 & va nuqta-vergul tuzog'i

Brauzer eski saytlar bilan moslik uchun ba'zi entity'larni nuqta-vergulsiz ham taniydi. Bu kutilmagan natija beradi:

html
<p>Narx&copy=5</p>

Brauzerda: "Narx©=5". &copy ni brauzer © deb o'qidi!

Shuning uchun qoida: matndagi & ni doim &amp; deb yozing — Osh &amp; Kabob. Qisqa "Osh & Kabob" ham odatda ishlaydi, lekin keyingi so'z entity nomiga o'xshab qolsa, kutilmagan belgi chiqadi.

Tekshirib ko'ring: Sahifada "Ali & Vali" yozuvini xavfsiz ko'rsatish uchun HTML'da nima yozasiz?

Javob

Ali &amp; Vali. Brauzer &amp; ni & belgisiga aylantiradi. Oddiy & yozsangiz, bu holatda ham ishlaydi — lekin validatorlar (masalan, html-validate) uni xato deydi va keyinroq boshqa so'z bilan tuzoqqa tushish ehtimoli bor.

4. UTF-8 davrida entity qachon kerak?

HTML'ning boshida sahifalar turli kodlashlarda saqlanardi va ko'p belgilarni to'g'ridan-to'g'ri yozib bo'lmasdi. Shuning uchun eski saytlarda &laquo;, &mdash;, &eacute; kabi yozuvlar juda ko'p.

Bugun bizda UTF-8 bor (Hujjat skeleti darsidagi meta charset). U dunyodagi hamma belgilarni sig'diradi. Demak:

To'g'ridan-to'g'ri yozing — o'qish osonroq:

html
<p>Choyxona «Bahor» — eng mazali osh… 35 000 so'm 🍚</p>

Entity faqat shu hollarda kerak:

  1. Xizmat belgilari — <, &, atributdagi qo'shtirnoq (3-bo'lim).
  2. Ko'rinmas belgilar — &nbsp;, &shy;. Ular ko'zga ko'rinmaydi, kodda esa entity bilan aniq ko'rinadi. Bo'sh joylar darsida ishlatdik.
  3. Klaviaturada yo'q belgi — va uni kiritish usulini bilmasangiz.

5. Foydali belgilar jadvali

Ko'p ishlatiladigan belgilar, ularning nomli va raqamli entity'lari:

Belgi Nomli Raqamli Qayerda
© &copy; &#169; Mualliflik huquqi
® / ™ &reg; / &trade; &#174; / &#8482; Brend belgilari
« » &laquo; &raquo; &#171; &#187; O'zbekcha qo'shtirnoq
— &mdash; &#8212; Tire
– &ndash; &#8211; Oraliq: 7:00–23:00
… &hellip; &#8230; Uch nuqta
× &times; &#215; Ko'paytirish, o'lcham
° &deg; &#176; Harorat: 25°
№ &numero; &#8470; Raqam belgisi
€ &euro; &#8364; Valyuta

Hammasini yodlash shart emas. Kerak bo'lganda MDN yoki Unicode jadvalidan topasiz. Eng muhimi — &lt;, &amp;, &nbsp; ni bilish.

6. O'zbek tipografiyasi

6.1 Qo'shtirnoq

O'zbekcha matnda nomlar va iqtiboslar uchun ko'pincha « » (burchakli) qo'shtirnoq ishlatiladi: «Bahor», «O'tkan kunlar». Ba'zi nashrlar “ ” ni afzal ko'radi. Qaysi birini tanlasangiz ham, butun sayt bo'ylab bir xil bo'lsin.

6.2 Tire, defis va chiziqcha

Bular uch xil belgi va har birining o'z vazifasi bor:

Belgi Nomi Vazifasi Misol
- Defis So'z qismlarini bog'laydi 7-mavze, achchiq-chuchuk
– Qisqa tire Oraliq 7:00–23:00, 2025–2026
— Tire Gapdagi pauza, "bu —" Osh — 35 000 so'm

Klaviaturadagi - ni hamma joyda ishlatish xato emas, lekin sahifa "qo'lbola" ko'rinadi. Professional saytlar farqlaydi.

6.3 Uch nuqta

… — bitta belgi. Uchta alohida nuqta ... ham tushunarli. Farqi: … qatorda uzilmaydi va bir tekis ko'rinadi. Kodda esa doim uchta nuqta — ... — JavaScript'da o'z ma'nosiga ega (buni JavaScript qismida ko'rasiz).

6.4 O'zbek apostrofi

Mana eng nozik mavzu. O'zbek lotin alifbosi rasmiy qoidasida "o'" va "g'" harflaridagi belgi — maxsus teskari vergul ʻ (Unicode U+02BB): oʻ, gʻ. Tutuq belgisi uchun esa boshqa belgi — ʼ (U+02BC): maʼno.

Amalda esa ko'pchilik klaviaturadagi oddiy apostrofni ' yozadi. Bundan tashqari, Word va telefonlar ba'zan uni avtomatik "chiroyli" ’ ga (U+2019) aylantiradi. Natijada bitta so'z uch xil yozilishi mumkin:

Yozuv Belgi Unicode
o'zbek Oddiy apostrof U+0027
oʻzbek Teskari vergul (rasmiy) U+02BB
o’zbek Tipografik apostrof U+2019

Ko'zga deyarli bir xil. Kompyuter uchun esa — uch xil so'z. Bu muammolar keltirib chiqaradi:

  • Sayt ichidagi qidiruv o'zbek deb qidirganda oʻzbek yozilgan sahifani topmasligi mumkin.
  • Bitta saytda aralash yozuv ko'rinishda ham, qidiruvda ham tartibsizlik beradi.
  • Fayl nomlari, URL va kodda maxsus belgilar ortiqcha tashvish tug'diradi.

Qanday yo'l tutish kerak? Aniq javob — izchillik. Loyihangiz uchun bitta qoida tanlang va hamma joyda unga amal qiling. Masalan, IlmHamroh butun kontentda oddiy apostrof ' ni tanlagan — foydalanuvchilarning ko'pchiligi shunday yozadi va qidiradi. Rasmiy hujjatlar yoki davlat saytlari esa rasmiy ʻ ni tanlashi mumkin.

Rasmiy belgini HTML'da entity bilan ham yozish mumkin: o&#x2BB;zbek → oʻzbek.

Diqqat: Matnni Word yoki Telegram'dan ko'chirib qo'yganda, apostroflar sezdirmasdan ’ ga almashib qolishi mumkin. Tanlagan qoidangizni saqlash uchun VS Code'da Ctrl + H bilan barcha ’ larni qidirib almashtiring.

7. Belgilarni klaviaturadan kiritish

Belgi Windows (raqamli klaviatura) macOS
« Alt + 0171 Option + \
» Alt + 0187 Option + Shift + \
— Alt + 0151 Option + Shift + -
– Alt + 0150 Option + -
… Alt + 0133 Option + ;

Windows'dagi Alt usuli faqat klaviaturaning o'ng tomonidagi raqamlar bilan ishlaydi. Noutbukda raqamli blok bo'lmasa — Win + . bosing: emoji paneli ochiladi, uning "Belgilar" (Symbols) bo'limida hammasi bor. macOS yorliqlari standart inglizcha (US) klaviatura tartibi uchun. Linux'da ko'p muhitlarda Ctrl + Shift + U, keyin hex raqam va Enter ishlaydi.

8. Ko'p uchraydigan xatolar

8.1 Nuqta-vergulsiz entity

html
<p>&copy 2026 Bahor</p>

Brauzer "© 2026 Bahor" ni ko'rsatadi, lekin Nu HTML Checker xato beradi:

text
Error: Named character reference was not terminated by a semicolon. (Or “&” should have been escaped as “&amp;”.)

Tarjimasi: "Nomli belgi yozuvi nuqta-vergul bilan tugatilmagan. (Yoki & ni &amp; deb escape qilish kerak edi.)" Tuzatish: &copy; — oxiriga ;.

8.2 Noma'lum entity

html
<p>&osh;</p>

Bunday nom yo'q. Brauzer uni o'zgartirmasdan &osh; deb ko'rsatadi. html-validate:

text
Unrecognized character reference "&osh;"

Tuzatish: nomni MDN'dagi ro'yxatdan tekshiring yoki raqamli shaklni ishlating.

8.3 Ikki marta escape qilish

html
<p>Kodda &amp;lt; yozing</p>

Maqsad — sahifada < ko'rinishi edi. Lekin &amp;lt; → sahifada &lt; yozuvining o'zi chiqadi. Bu xato ko'pincha matn ikki marta qayta ishlanganda — masalan, sayt boshqaruv panelida — yuz beradi. Tuzatish: qaysi natija kerakligini aniqlang: belgi uchun &lt;, yozuvning o'zi uchun &amp;lt;.

8.4 Ko'rinmas belgilar

Internetdan ko'chirilgan matnda ba'zan ko'rinmas belgilar yashirinadi, masalan "nol kenglikdagi bo'sh joy" (U+200B, entity'si &ZeroWidthSpace;). U ekranda yo'q, lekin so'z ichida turadi. Natijada qidiruv so'zni topmaydi yoki kod g'alati xato beradi. Tuzatish: VS Code g'alati belgilarni ramka bilan ko'rsatadi — shubhali joyni o'chirib, qaytadan yozing.

9. Mashqlar

1-mashq (oson): Belgini toping

Entity nomini yozing (& va ; orasidagi qism):

  1. < belgisi →
  2. & belgisi →
  3. © belgisi →
Yechim
  1. &lt; — "less than" (kichik).
  2. &amp; — ampersand.
  3. &copy; — mualliflik belgisi. Raqamli shakli &#169; ham bir xil natija beradi.

2-mashq (o'rta): Xatolarni tuzating

html
<p title="Choyxona "Bahor"">Menyu</p>
<p>Osh & Kabob &copy 2026</p>
<p>Ish vaqti: 7:00 - 23:00</p>
<p>Kodda <p> tegi paragraf yaratadi.</p>
Yechim
html
<p title="Choyxona «Bahor»">Menyu</p>
<p>Osh &amp; Kabob &copy; 2026</p>
<p>Ish vaqti: 7:00–23:00</p>
<p>Kodda <code>&lt;p&gt;</code> tegi paragraf yaratadi.</p>
  1. Atribut ichidagi " qiymatni buzardi — « » ga almashtirdik (&quot; ham to'g'ri).
  2. & → &amp;, &copy ga ; qo'shildi.
  3. Vaqt oralig'i — qisqa tire –, bo'sh joylarsiz.
  4. <p> kod sifatida escape qilindi va code ga o'raldi — aks holda ichkarida yangi paragraf ochilardi.

3-mashq (qiyin): Sahifa pastki qismi

Choyxona saytining eng pastki qatorini yozing. Unda: mualliflik belgisi, yil oralig'i 2020–2026, sayt nomi « » ichida, telefon (bo'linmaydigan), «Osh & Choy» tadbirining nomi. Rasmiy apostrof bilan Oʻzbekiston so'zi entity orqali. Faylni npx html-validate bilan tekshiring.

Yechim
html
<p><small>&copy; 2020–2026 «Bahor» choyxonasi.
Tel.: +998&nbsp;90&nbsp;000&nbsp;00&nbsp;00.
«Osh &amp; Choy» kechasi har shanba.
Toshkent, O&#x2BB;zbekiston.</small></p>

&copy; va – ni to'g'ridan-to'g'ri © va – bilan yozsangiz ham to'g'ri — UTF-8 buni qo'llaydi. &amp; va &nbsp; esa bu yerda haqiqatan kerak. small — Urg'u teglari darsidagi mayda izoh tegi.

10. Real ishda

  • Xavfsizlik. Foydalanuvchi yozgan matnni sahifaga qo'yishdan oldin < va & ni escape qilish — veb-xavfsizlikning birinchi qoidasi. React kabi zamonaviy vositalar buni avtomatik qiladi, lekin qoidani bilmasangiz, uni tasodifan o'chirib qo'yishingiz mumkin. Bu mavzu HTML darajasidagi xavfsizlik darsida.
  • Kontent tizimlari. Sayt boshqaruv panelida &amp; yoki &quot; yozuvlari ko'rinib qolishi — ikki marta escape qilishning klassik belgisi. Buni tez taniy olish — tajriba belgisi.
  • O'zbek saytlari. Apostrof masalasi har bir o'zbek loyihasida uchraydi: qidiruv, URL, ma'lumotlar bazasi. Loyiha boshida qoidani kelishib olish keyingi oylarni tejaydi.
  • Email shablonlari. Eski email dasturlari hali ham ko'p entity'larni talab qiladi — u yerda &nbsp; va &copy; tez-tez uchraydi.

Xulosa

  • Entity: & + nom yoki raqam + ;. Nomli &copy;, o'nlik &#169;, hex &#xA9; — bir xil ©.
  • Majburiy: matnda < → &lt;, & → &amp;; atribut ichida qo'shtirnoq → &quot; yoki &apos;.
  • UTF-8 da « », —, …, emoji to'g'ridan-to'g'ri yoziladi; entity — xizmat va ko'rinmas belgilar uchun.
  • Nuqta-vergulni unutmang: &copy kutilmagan joyda ham belgiga aylanishi mumkin.
  • Defis -, qisqa tire – (oraliq), tire — (pauza) — uch xil vazifa.
  • O'zbek apostrofining uch shakli bor (', ʻ, ’) — loyihada bittasini tanlab, izchil ishlating.

Keyingi dars: Ro'yxatlar: tartibsiz, tartibli va ta'rif ro'yxati — menyu, retsept qadamlari va lug'at uchun uch xil ro'yxat.

Manbalar

  • MDN: "Entity" va "Character reference" — developer.mozilla.org
  • WHATWG HTML: "Named character references" — html.spec.whatwg.org
  • Unicode: U+02BB MODIFIER LETTER TURNED COMMA — unicode.org
Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
HTML maxsus belgilar va entity'lar: «», —, © va o'zbek apostrofi — IlmHamroh