JavaScript ถอดรหัสข้อความภาษาไทยที่มีโค้ด &# ผสมอยู่ด้วย - Encode and Decode HTML entities using pure Javascript

โดย SONGCHAI SAETERN

[JavaScript - Encode and Decode HTML entities using pure Javascript]

ปกติเขียน JavaScript เช็คภาษาไทยก็ไม่มีปัญหา แต่พอลองใช้บน BlogSpot.Com กลับพบว่ามีการเข้ารหัสโค้ดก่อนเอาไปแสดงผล แล้วกลายเป้นโค้ดเข้ารหัส htmlentities

ซึ่งเวลาตรวจสอบก็จะพบโค้ดประมาณนี้โผล่ออกมา

สว&#111;&#44;ดี <= (ยกตัวอย่างเฉยๆ ไม่ใช่รหัสจริง)


ทั้งที่จริงๆแล้วโค้ดเราใส่คำว่า "สวัสดี"

ดังนั้นจะเช็คว่

if(target_string == 'สวัสดี'){
}

แบบนี้จะทำไม่ได้เลยจะต้องใช้ฟังก์ชั่น

htmlentities.decode() ตามลิงค์ที่ให้ไว้ในการแปลงโค้ดก่อนจึงจะทำงานถูกต้องตามที่ต้องการ

ก็จะเขียนใหม่ได้ดังนี้

if(target_string == htmlentities.decode('สวัสดี')){
}

ซึ่งถ้าไม่แน่ใจว่า target_string จะเข้ารหัสด้วยหรือเปล่าก็สามารถเอาฟังก์ชั่นนี้ครอบไว้อีกทีก็ได้ครับ
รายละเอียด



ที่มา : https://ourcodeworld.com/articles/read/188/encode-and-decode-html-entities-using-pure-javascript