ล่าสุดการพัฒนาเว็บบทเรียน
×

PHP เกี่ยวกับการสอน

PHP บ้าน PHP แนะนำ PHP ติดตั้ง PHP วากยสัมพันธ์ PHP ตัวแปร PHP Echo / พิมพ์ PHP ชนิดข้อมูล PHP เงื่อนไข PHP ค่าคงที่ PHP ผู้ประกอบการ PHP If...Else...Elseif PHP Switch PHP ในขณะที่ลูป PHP สำหรับลูป PHP ฟังก์ชั่น PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals

PHP การจัดการ

PHP ฟอร์ม การจัดการ PHP ฟอร์ม การตรวจสอบ PHP ฟอร์ม จำเป็นต้องใช้ PHP ฟอร์ม URL/E-mail PHP ฟอร์ม สมบูรณ์

PHP สูง

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

MySQL Database

MySQL ฐานข้อมูล MySQL สัมพันธ์ MySQL Create DB MySQL Create ตาราง MySQL Insert Data MySQL รับ ID เข้าครั้งสุดท้าย MySQL ใส่หลาย MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX แนะนำ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาสด AJAX RSS Reader AJAX โพลล์

PHP Examples

PHP ตัวอย่าง PHP ทดสอบ PHP ใบรับรอง

PHP การอ้างอิง

PHP แถว PHP ปฏิทิน PHP วันที่ PHP ไดเรกทอรี PHP ผิดพลาด PHP ระบบแฟ้ม PHP กรอง PHP FTP PHP HTTP PHP Libxml PHP จดหมาย PHP คณิตศาสตร์ PHP อื่น ๆ PHP MySQLi PHP SimpleXML PHP เชือก PHP XML PHP Zip PHP ช่วงเวลา

 

PHP htmlspecialchars() Function

<PHP สตริงอ้างอิง

ตัวอย่าง

แปลงตัวอักษรที่กำหนดไว้ล่วงหน้า "<" (less than) และ ">" (greater than) ไปยังหน่วยงาน 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

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

  • และ (ampersand) จะกลายเป็น & amp;
  • " (double quote) จะกลายเป็น & quot;
  • ' (single quote) จะกลายเป็น & # 039;
  • < (less than) จะกลายเป็น & lt;
  • > (greater than) จะกลายเป็น & gt;

Tip: การแปลงหน่วยงาน HTML พิเศษกลับไปที่ตัวละครใช้ htmlspecialchars_decode() ฟังก์ชั่น


วากยสัมพันธ์

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

พารามิเตอร์ ลักษณะ
string จำเป็นต้องใช้ ระบุสตริงการแปลง
flags ไม่จำเป็น. ระบุวิธีการจัดการกับคำพูด, การเข้ารหัสไม่ถูกต้องและประเภทของเอกสารที่ใช้

รูปแบบใบเสนอราคาที่มีอยู่:

  • ENT_COMPAT - เริ่มต้น ถอดรหัสคำพูดสองเท่านั้น
  • ENT_QUOTES - ถอดรหัสคำพูดคู่และเดี่ยว
  • ENT_NOQUOTES - ไม่เข้ารหัสคำพูดใด ๆ

การเข้ารหัสไม่ถูกต้อง:

  • ENT_IGNORE - ละเว้นการเข้ารหัสที่ไม่ถูกต้องแทนที่จะมีฟังก์ชั่นกลับสตริงที่ว่างเปล่า ควรหลีกเลี่ยงเพราะอาจมีผลกระทบต่อการรักษาความปลอดภัย
  • ENT_SUBSTITUTE - แทนที่การเข้ารหัสที่ไม่ถูกต้องสำหรับตัวอักษรที่ระบุการตั้งค่าด้วยการเปลี่ยนอักขระ Unicode U + FFFD (UTF-8) หรือ & # FFFD; แทนที่จะกลับสตริงที่ว่างเปล่า
  • ENT_DISALLOWED - แทนที่จุดรหัสที่มีความไม่ถูกต้องในประเภทเอกสารที่ระบุมีการเปลี่ยนอักขระ Unicode U + FFFD (UTF-8) หรือ & # FFFD;

ธงเพิ่มเติมสำหรับการระบุประเภทเอกสารที่ใช้:

  • ENT_HTML401 - เริ่มต้น จัดการรหัสเป็น HTML 4.01
  • ENT_HTML5 - จับรหัสเป็น HTML 5
  • ENT_XML1 - จับรหัสเป็น XML 1
  • ENT_XHTML - จับรหัสเป็น XHTML
character-set ไม่จำเป็น. สตริงที่ระบุตัวตั้งในการใช้

ค่าที่อนุญาตคือ:

  • UTF-8 - เริ่มต้น ASCII เข้ากันได้หลายไบต์ Unicode 8 บิต
  • ISO-8859-1 - ยุโรปตะวันตก
  • ISO-8859-15 - ยุโรปตะวันตก (เพิ่มสัญญาณยูโร + ตัวอักษรภาษาฝรั่งเศสและฟินแลนด์ที่ขาดหายไปใน ISO-8859-1)
  • cp866 - DOS เฉพาะ charset ริลลิก
  • cp1251 มา - Windows เฉพาะ charset ริลลิก
  • cp1252 มา - Windows charset ที่เฉพาะเจาะจงสำหรับยุโรปตะวันตก
  • KOI8-R - รัสเซีย
  • BIG5 - ภาษาจีนแบบดั้งเดิมส่วนใหญ่ที่ใช้ในไต้หวัน
  • GB2312 - จีน, มาตรฐานแห่งชาติชุดอักขระ
  • BIG5-HKSCS - Big5 มีนามสกุลฮ่องกง
  • Shift_JIS - ญี่ปุ่น
  • EUC-JP - ญี่ปุ่น
  • MacRoman - ตัวตั้งที่ถูกใช้โดยระบบปฏิบัติการ Mac OS

Note: ไม่รู้จักตัวละครชุดจะถูกละเว้นและถูกแทนที่ด้วย ISO-8859-1 ในรุ่นก่อนที่จะ PHP 5.4 ในฐานะของ PHP 5.4 ก็จะถูกละเว้นแทนที่ด้วย UTF-8

double_encode ไม่จำเป็น. ค่าบูลีนที่ระบุว่าการเข้ารหัส HTML หน่วยงานที่มีอยู่หรือไม่
  • TRUE - เริ่มต้น จะแปลงทุกอย่าง
  • FALSE - จะได้เข้ารหัส HTML หน่วยงานที่มีอยู่

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

กลับค่า: ส่งกลับสตริงแปลง

ถ้า string มีการเข้ารหัสที่ไม่ถูกต้องก็จะกลับเป็นสตริงว่างเว้นแต่ทั้ง ENT_IGNORE หรือธง ENT_SUBSTITUTE มีการตั้งค่า
PHP เวอร์ชัน: 4+
การเปลี่ยนแปลง: ค่าเริ่มต้นสำหรับพารามิเตอร์ตัวตั้งได้เปลี่ยนไปเป็น UTF-8 ใน PHP 5

ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 และ ENT_XHTML ถูกเพิ่มใน PHP 5.4

ENT_IGNORE ถูกเพิ่มเข้ามาใน PHP 5.3

พารามิเตอร์ double_encode ถูกเพิ่มเข้ามาใน PHP 5.2.3

พารามิเตอร์ตัวตั้งถูกเพิ่มเข้ามาใน PHP 4.1

ตัวอย่างอื่น ๆ

ตัวอย่างที่ 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'
ตัวอย่างเช่นเรียกใช้»

ตัวอย่างที่ 2

แปลงคำพูดคู่กับหน่วยงาน 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 สตริงอ้างอิง