htmlspecialchars()

PHP htmlspecialchars() funksiyasi

❮ PHP string funksiyalari ma’lumotnomasi

Misol

Oldindan belgilangan "<" (kichik) va ">" (katta) belgilarini HTML entity’larga aylantiring:

<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars($str); ?>

Yuqoridagi kodning HTML natijasi quyidagicha bo‘ladi (sahifa manba kodi):

<!DOCTYPE html> <html> <body> This is some &lt;b&gt;bold&lt;/b&gt; text. </body> </html>

Yuqoridagi kodning brauzerdagi natijasi quyidagicha bo‘ladi:

This is some <b>bold</b> text.
O‘zingiz sinab ko‘ring »

ULASHISH

Ta’rif va qo‘llanilishi

htmlspecialchars() funksiyasi ayrim oldindan belgilangan belgilarni HTML entity’larga aylantiradi.

Oldindan belgilangan belgilar:

  • & (ampersand) &amp; ga aylanadi
  • " (qo‘sh tirnoq) &quot; ga aylanadi
  • ' (bittalik tirnoq) &#039; ga aylanadi
  • < (kichik belgisi) &lt; ga aylanadi
  • > (katta belgisi) &gt; ga aylanadi

Maslahat: Maxsus HTML entity’larni qaytadan belgilarga aylantirish uchun htmlspecialchars_decode() funksiyasidan foydalaning.


Sintaksis

htmlspecialchars(string,flags,encoding,double_encode)

Parametr qiymatlari

Parametr Tavsif
string Majburiy. Aylantiriladigan stringni belgilaydi
flags Ixtiyoriy. Tirnoqlar, yaroqsiz kodlash va ishlatiladigan hujjat turi qanday qayta ishlanishini belgilaydi.

Mavjud tirnoq uslublari:

  • ENT_COMPAT - Faqat qo‘sh tirnoqlarni kodlaydi
  • ENT_QUOTES - Standart. Qo‘sh va bittalik tirnoqlarni kodlaydi
  • ENT_NOQUOTES - Hech qanday tirnoqni kodlamaydi

Yaroqsiz kodlash:

  • ENT_IGNORE - Funksiya bo‘sh string qaytarishi o‘rniga yaroqsiz kodlashni e’tiborsiz qoldiradi. Undan foydalanmaslik kerak, chunki bu xavfsizlikka ta’sir qilishi mumkin.
  • ENT_SUBSTITUTE - Ko‘rsatilgan belgilar to‘plami uchun yaroqsiz kodlashni bo‘sh string qaytarish o‘rniga Unicode almashtirish belgisi U+FFFD (UTF-8) yoki &#FFFD; bilan almashtiradi.
  • ENT_DISALLOWED - Ko‘rsatilgan doctype’da yaroqsiz bo‘lgan kod nuqtalarini (code points) Unicode almashtirish belgisi U+FFFD (UTF-8) yoki &#FFFD; bilan almashtiradi

Ishlatiladigan doctype’ni belgilovchi qo‘shimcha bayroqlar:

  • ENT_HTML401 - Standart. Kodni HTML 4.01 sifatida qayta ishlaydi
  • ENT_HTML5 - Kodni HTML 5 sifatida qayta ishlaydi
  • ENT_XML1 - Kodni XML 1 sifatida qayta ishlaydi
  • ENT_XHTML - Kodni XHTML sifatida qayta ishlaydi
encoding Ixtiyoriy. Qaysi belgilar to‘plamidan foydalanishni belgilovchi string.

Ruxsat etilgan qiymatlar:

  • UTF-8 - Standart. ASCII bilan mos, ko‘p baytli 8 bitli Unicode
  • ISO-8859-1 - G‘arbiy Yevropa
  • ISO-8859-15 - G‘arbiy Yevropa (ISO-8859-1 da mavjud bo‘lmagan Yevro belgisi hamda fransuz va fin harflarini qo‘shadi)
  • cp866 - DOS’ga xos kirill belgilar to‘plami
  • cp1251 - Windows’ga xos kirill belgilar to‘plami
  • cp1252 - G‘arbiy Yevropa uchun Windows’ga xos belgilar to‘plami
  • KOI8-R - Rus
  • BIG5 - An’anaviy xitoy, asosan Tayvanda ishlatiladi
  • GB2312 - Soddalashtirilgan xitoy, milliy standart belgilar to‘plami
  • BIG5-HKSCS - Gonkong kengaytmalari bilan Big5
  • Shift_JIS - Yapon
  • EUC-JP - Yapon
  • MacRoman - Mac OS da ishlatilgan belgilar to‘plami
double_encode Ixtiyoriy. Mavjud HTML entity’larni kodlash yoki kodlamaslikni belgilovchi boolean qiymat.
  • TRUE - Standart. Hammasini aylantiradi
  • FALSE - Mavjud HTML entity’larni kodlamaydi


Texnik tafsilotlar

Qaytariladigan qiymat: Aylantirilgan stringni qaytaradi

Agar string da yaroqsiz kodlash bo‘lsa va ENT_IGNORE yoki ENT_SUBSTITUTE bayroqlaridan hech biri o‘rnatilmagan bo‘lsa, bo‘sh string qaytaradi
PHP versiyasi: 4+

Ko‘proq misollar

Misol

Ayrim oldindan belgilangan belgilarni HTML entity’larga aylantiring:

<?php $str = "Jane & 'Tarzan'"; echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes echo "<br>"; echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes echo "<br>"; echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes ?>

Yuqoridagi kodning HTML natijasi quyidagicha bo‘ladi (sahifa manba kodi):

<!DOCTYPE html> <html> <body> Jane &amp; 'Tarzan'<br> Jane &amp; &#039;Tarzan&#039;<br> Jane &amp; 'Tarzan' </body> </html>

Yuqoridagi kodning brauzerdagi natijasi quyidagicha bo‘ladi:

Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan'
O‘zingiz sinab ko‘ring »

Misol

Qo‘sh tirnoqlarni HTML entity’larga aylantiring:

<?php $str = 'I love "PHP".'; echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes ?>

Yuqoridagi kodning HTML natijasi quyidagicha bo‘ladi (sahifa manba kodi):

<!DOCTYPE html> <html> <body> I love &quot;PHP&quot;. </body> </html>

Yuqoridagi kodning brauzerdagi natijasi quyidagicha bo‘ladi:

I love "PHP".
O‘zingiz sinab ko‘ring »

❮ PHP string funksiyalari ma’lumotnomasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!