บทช่วยสอนPHP

PHP HOME แนะนำ PHP การติดตั้ง PHP PHP ไวยากรณ์ ความคิดเห็น PHP ตัวแปร PHP PHP Echo / พิมพ์ ประเภทข้อมูล PHP PHP Strings หมายเลข PHP PHP คณิตศาสตร์ ค่าคงที่ PHP ตัวดำเนินการ PHP PHP If...Else...Elseif PHP Switch PHP Loops ฟังก์ชัน PHP PHP Arrays PHP Superglobals PHP RegEx

แบบฟอร์มPHP

การจัดการแบบฟอร์ม PHP การตรวจสอบแบบฟอร์ม PHP ต้องใช้แบบฟอร์ม PHP URL แบบฟอร์ม PHP/อีเมล แบบฟอร์ม PHP เสร็จสมบูรณ์

PHPขั้นสูง

วันที่และเวลา PHP รวม PHP การจัดการไฟล์ PHP ไฟล์ PHP เปิด/อ่าน สร้าง/เขียนไฟล์ PHP อัพโหลดไฟล์ PHP คุกกี้ PHP PHP Sessions ตัวกรอง PHP ตัวกรอง PHP ขั้นสูง ฟังก์ชันเรียกกลับของ PHP PHP JSON ข้อยกเว้น PHP

PHP OOP

PHP OOP คืออะไร คลาส PHP/วัตถุ ตัวสร้าง PHP PHP Destructor PHP Access Modifiers PHP Inheritance ค่าคงที่ PHP PHP Abstract Classes อินเทอร์เฟซ PHP PHP ลักษณะ PHP Static Methods PHP คุณสมบัติคงที่ PHP เนมสเปซ PHP Iterables

ฐานข้อมูลMySQL

ฐานข้อมูล MySQL MySQL Connect MySQL สร้าง DB MySQL สร้างตาราง MySQL แทรกข้อมูล MySQL รับ ID ล่าสุด MySQL แทรกหลายรายการ MySQL ที่เตรียมไว้ MySQL Select Data MySQL Where MySQL สั่งซื้อโดย MySQL ลบข้อมูล ข้อมูลอัพเดต MySQL MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - รับ PHP XML Expat PHP XML DOM

PHP - AJAX

บทนำ AJAX AJAX PHP ฐานข้อมูล AJAX AJAX XML AJAX ค้นหาสด AJAX โพล

ตัวอย่างPHP

ตัวอย่าง PHP PHP คอมไพเลอร์ แบบทดสอบ PHP แบบฝึกหัด PHP ใบรับรอง PHP

ข้อมูลอ้างอิงPHP

ภาพรวม PHP PHP Array ปฏิทิน PHP PHP วันที่ ไดเรกทอรี PHP ข้อผิดพลาด PHP ข้อยกเว้น PHP ระบบไฟล์ PHP ตัวกรอง PHP PHP FTP PHP JSON คีย์เวิร์ด PHP PHP Libxml PHP Mail PHP คณิตศาสตร์ PHP เบ็ดเตล็ด PHP MySQLi เครือข่าย PHP การควบคุมเอาต์พุต PHP PHP RegEx PHP SimpleXML PHP Stream PHP String
addcslashes() เครื่องหมายทับ () bin2hex() สับ() chr() chunk_split() Convert_cyr_string() convert_uudecode() Convert_uuencode() count_chars() crc32() ห้องใต้ดิน() เสียงสะท้อน() ระเบิด() พิมพ์ () get_html_translation_table() ฮีบรู () ภาษาฮีบรูฟ () hex2bin() html_entity_decode() htmlentities() htmlspecialchars_decode() htmlspecialchars() ระเบิด() เข้าร่วม() lcfirst() เลเวนชไทน์() localeconv() ลทริม () md5() md5_file() เมตาโฟน() money_format() nl_langinfo () nl2br() number_format() คำ() parse_str() พิมพ์() พิมพ์f() quoted_printable_decode() quoted_printable_encode() ข้อมูลอ้างอิง () อาร์ทริม() setlocale() sha1() sha1_file() คล้ายกัน_text() ซาวด์เอ็กซ์() sprintf() sscanf() str_getcsv () str_ireplace () str_pad() str_repeat() str_replace() str_rot13 () str_shuffle() str_split () str_word_count() strcasecmp() strchr() strcmp() strcoll() strcspn() strip_tags() แถบสแลช() แถบสแลช() การ์ตูน () แถบ () strlen() strnatcasecmp() strnatcmp() strncasecmp() strncmp() strpbrk () สตรอปส์() strchr() strrev () สตริพอส() สตริพอส() strspn () strstr() strtok() strtolower() สตรอปเปอร์() strtr() ย่อย () substr_compare() substr_count() substr_replace() ตัดแต่ง() ucfirst() ucwords() vfprintf() vprintf() vsprintf() ตัดคำ()
การจัดการตัวแปร PHP PHP XML Parser PHP Zip เขตเวลา PHP

PHP htmlspecialchars()ฟังก์ชัน

❮ การอ้างอิงสตริง PHP

ตัวอย่าง

แปลงอักขระที่กำหนดไว้ล่วงหน้า "<" (น้อยกว่า) และ ">" (มากกว่า) เป็นเอนทิตี HTML:

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

เอาต์พุต HTML ของโค้ดด้านบนจะเป็น (View Source):

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

ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็น:

This is some <b>bold</b> text.

ความหมายและการใช้งาน

ฟังก์ชัน htmlspecialchars() จะแปลงอักขระที่กำหนดไว้ล่วงหน้าบางตัวให้เป็นเอนทิตี HTML

อักขระที่กำหนดไว้ล่วงหน้าคือ:

  • & (เครื่องหมายและ) กลายเป็น &
  • " (เครื่องหมายคำพูดคู่) กลายเป็น "
  • ' (เครื่องหมายคำพูดเดียว) กลายเป็น '
  • < (น้อยกว่า) กลายเป็น <
  • > (มากกว่า) กลายเป็น >

เคล็ดลับ:ในการแปลงเอนทิตี HTML พิเศษกลับเป็นอักขระ ให้ใช้ฟังก์ชันhtmlspecialchars_decode()


ไวยากรณ์

htmlspecialchars(string,flags,character-set,double_encode)

ค่าพารามิเตอร์

Parameter Description
string Required. Specifies the string to convert
flags Optional. Specifies how to handle quotes, invalid encoding and the used document type.

The available quote styles are:

  • ENT_COMPAT - Default. Encodes only double quotes
  • ENT_QUOTES - Encodes double and single quotes
  • ENT_NOQUOTES - Does not encode any quotes

Invalid encoding:

  • ENT_IGNORE - Ignores invalid encoding instead of having the function return an empty string. Should be avoided, as it may have security implications.
  • ENT_SUBSTITUTE - Replaces invalid encoding for a specified character set with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; instead of returning an empty string.
  • ENT_DISALLOWED - Replaces code points that are invalid in the specified doctype with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD;

Additional flags for specifying the used doctype:

  • ENT_HTML401 - Default. Handle code as HTML 4.01
  • ENT_HTML5 - Handle code as HTML 5
  • ENT_XML1 - Handle code as XML 1
  • ENT_XHTML - Handle code as XHTML
character-set Optional. A string that specifies which character-set to use.

Allowed values are:

  • UTF-8 - Default. ASCII compatible multi-byte 8-bit Unicode
  • ISO-8859-1 - Western European
  • ISO-8859-15 - Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
  • cp866 - DOS-specific Cyrillic charset
  • cp1251 - Windows-specific Cyrillic charset
  • cp1252 - Windows specific charset for Western European
  • KOI8-R - Russian
  • BIG5 - Traditional Chinese, mainly used in Taiwan
  • GB2312 - Simplified Chinese, national standard character set
  • BIG5-HKSCS - Big5 with Hong Kong extensions
  • Shift_JIS - Japanese
  • EUC-JP - Japanese
  • MacRoman - Character-set that was used by Mac OS

Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8.

double_encode Optional. A boolean value that specifies whether to encode existing html entities or not.
  • TRUE - Default. Will convert everything
  • FALSE - Will not encode existing html entities


รายละเอียดทางเทคนิค

คืนมูลค่า: ส่งกลับสตริงที่แปลง

แล้ว หากสตริงมีการเข้ารหัสที่ไม่ถูกต้อง สตริงจะส่งคืนสตริงว่าง เว้นแต่จะตั้งค่าสถานะ ENT_IGNORE หรือ ENT_SUBSTITUTE
รุ่น PHP: 4+
บันทึกการเปลี่ยนแปลง: PHP 5.6 - เปลี่ยนค่าเริ่มต้นสำหรับ พารามิเตอร์ ชุดอักขระ เป็นค่าของชุดอักขระเริ่มต้น (ในการกำหนดค่า)
PHP 5.4 - เปลี่ยนค่าเริ่มต้นสำหรับ พารามิเตอร์ ชุดอักขระเป็น UTF-8
PHP 5.4 - เพิ่ม ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 และ ENT_XHTML
PHP 5.3 - เพิ่มค่าคงที่ ENT_IGNORE
PHP 5.2.3 - เพิ่มพารามิเตอร์double_encode
PHP 4.1 - เพิ่ม พารามิเตอร์ชุดอักขระ

ตัวอย่างเพิ่มเติม

ตัวอย่าง

แปลงอักขระที่กำหนดไว้ล่วงหน้าเป็นเอนทิตี HTML:

<?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
?>

เอาต์พุต HTML ของโค้ดด้านบนจะเป็น (View Source):

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

ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็น:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'

ตัวอย่าง

แปลงเครื่องหมายคำพูดคู่เป็นเอนทิตี HTML:

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

เอาต์พุต HTML ของโค้ดด้านบนจะเป็น (View Source):

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

ผลลัพธ์ของเบราว์เซอร์ของโค้ดด้านบนจะเป็น:

I love "PHP".

❮ การอ้างอิงสตริง PHP