เครื่องมือสำหรับนักพัฒนา · HTML ตัวหนีเอนทิตี
วิธีแสดงโค้ด HTML บนหน้าเว็บ: การหลีกเลี่ยง < ภายในบล็อกก่อนหน้าและโค้ด
· มันทำงานอย่างไร
html นักพัฒนาเวิร์กโฟลว์ การเข้ารหัส
บล็อก <pre> ไม่ได้หยุด parser จากการอ่านแท็ก ดังนั้นจึงต้องหลีกเลี่ยงตัวอย่างโค้ด โพสต์นี้แสดงให้เห็นอย่างชัดเจนว่าจะแปลงอักขระตัวใด </script> ในตัวอย่างยังคงลงท้ายสคริปต์อย่างไร และวิธีทำให้ตัวอย่างอ่านได้
บทช่วยสอนที่มีตัวอย่างแสดงผลเป็นรูปแบบการทำงาน - เหตุใด <pre> จึงไม่ใช่องค์ประกอบข้อความดิบ
บทช่วยสอนที่มีตัวอย่างแสดงผลเป็นรูปแบบการทำงาน — เหตุใด <pre> จึงไม่ใช่องค์ประกอบข้อความดิบ องค์ประกอบก่อนหน้าจะรักษาช่องว่างแต่ยังคงบริบทการแยกวิเคราะห์ HTML ปกติ แท็กปุ่มตัวอักษรที่อยู่ภายในจะสร้างปุ่ม ดังนั้นการเยื้องเพียงอย่างเดียวจะไม่เปลี่ยนมาร์กอัปเป็นซอร์สโค้ด
หากต้องการตรวจสอบโค้ด html ที่แสดงบนหน้าเว็บ ให้สร้างบทช่วยสอนที่มีตัวอย่างสำหรับนักเขียนด้านเทคนิคซึ่งมีตัวอย่างโค้ดแสดงผลเป็นปุ่มที่ใช้งานจริง รักษาการแสดงผลไว้เป็นการทำงานในขณะที่การเรนเดอร์ตัวอย่างโค้ดสร้างรูปแบบว่าทำไม pre ถึง; ระบุตำแหน่งที่ไม่ได้ใช้ข้อความดิบ การสังเกตเกี่ยวกับองค์ประกอบเป็นของ HTML ข้อความเท่านั้น
อักขระตัวใดที่ต้องหลีกในตัวอย่างโค้ด — < และ & อย่างน้อย > สำหรับสมมาตร เครื่องหมายคำพูดในแอตทริบิวต์เท่านั้น
อักขระตัวใดที่ต้องหลีกในตัวอย่างโค้ด — < และ & อย่างน้อย > สำหรับสมมาตร เครื่องหมายคำพูดในแอตทริบิวต์เท่านั้น ภายในข้อความนำหน้าหรือโค้ด น้อยกว่าและเครื่องหมายแอมเปอร์แซนด์เป็นตัวแทนที่ที่จำเป็น ToolAcre ยังเข้ารหัสเครื่องหมายคำพูดที่มากกว่าและทั้งสอง ทำให้เกิดนโยบายห้าอักขระที่สอดคล้องกัน
นักเขียนทางเทคนิคที่มีตัวอย่างโค้ดแสดงผลเป็นปุ่มสดสามารถทดสอบอักขระที่จะหลีกได้โดยการบันทึกในตัวอย่างโค้ดก่อนที่การเรนเดอร์ตัวอย่างโค้ดจะผ่าน เปรียบเทียบและอย่างน้อยที่สุดสำหรับภายหลังและค้นหา parser ที่รับผิดชอบเครื่องหมายคำพูดสมมาตรเท่านั้น รหัส html ที่แสดงนี้บนผลลัพธ์ของหน้าเว็บจะอธิบายคุณลักษณะ ไม่ใช่บริบทที่ปฏิบัติการได้
กับดัก </script> - เหตุใดตัวอย่างที่หลบหนีจึงปลอดภัยใน <pre> แต่อันที่เป็นตัวอักษรภายใน <script> จะสิ้นสุดองค์ประกอบสคริปต์
กับดัก </script> - เหตุใดตัวอย่างที่หลบหนีจึงปลอดภัยใน <pre> แต่กับดักที่แท้จริงภายใน <script> จะสิ้นสุดองค์ประกอบสคริปต์ สคริปต์เป็นองค์ประกอบข้อความดิบที่มีกฎการสิ้นสุดที่แตกต่างกัน การอ้างอิงเอนทิตีไม่ใช่การหลีกเลี่ยงสากลในนั้น และลำดับตามตัวอักษรที่ปิดองค์ประกอบสคริปต์จำเป็นต้องมี JavaScript-aware serialization หรือการหลีกเลี่ยงทางสถาปัตยกรรม
แยกกับดักสคริปต์ว่าทำไมในตัวอย่างการเรนเดอร์ตัวอย่างโค้ดสั้นๆ แสดงตัวอย่างที่มีการ Escape เหมือนกับแหล่งที่มาตามตัวอักษร ปฏิบัติตามปลอดภัยใน pre แต่ไปยังปลายทาง และตั้งชื่อ API ที่อ่านค่าตามตัวอักษรข้างใน สำหรับโค้ด html ที่แสดงบนหน้าเว็บ สคริปต์จะสิ้นสุด สคริปต์ยังคงเป็นหลักฐานที่ถูกผูกไว้กับพาร์เซอร์
ตัวอย่างการทำงาน: การหลีกเลี่ยงตัวอย่างสิบบรรทัด HTML - ก่อนและหลัง และผลลัพธ์ที่แสดงผล
ตัวอย่างการทำงาน: การหลีกเลี่ยงตัวอย่างสิบบรรทัด HTML ก่อนและหลัง และผลลัพธ์ที่แสดงผล ตัวอย่างหลายบรรทัดที่เริ่มต้น <form><button>Save</button></form> จะกลายเป็น <form><button>Save</button></form> ในขณะที่ตัวแบ่งบรรทัดและแท็บจะถูกรักษาไว้อย่างครบถ้วน
รักษาตัวอย่างการทำงานโดยหนีจาก a เป็นการทดสอบขอบเขต นักเขียนทางเทคนิคที่มีตัวอย่างโค้ดแสดงผลเป็นปุ่มสดควรเก็บตัวอย่างโค้ด HTML สิบบรรทัด ดำเนินการเรนเดอร์ตัวอย่างโค้ดหนึ่งครั้ง และตรวจสอบก่อนและหลังและอักขระทีละอักขระ ก่อนที่จะเปลี่ยนผลลัพธ์ที่เรนเดอร์ การอ้างสิทธิ์เกี่ยวกับหลักฐานการแสดงตัวอย่างโค้ดหยุดที่เลเยอร์ HTML นี้
ตัวสร้างไซต์แบบคงที่และบล็อกที่มีรั้วกั้น Markdown - โดยที่การหลบหนีจะเกิดขึ้นโดยอัตโนมัติและในที่ที่ไม่เกิดขึ้น
ตัวสร้างไซต์แบบคงที่และบล็อกที่มีรั้วกั้น Markdown - โดยที่การหลบหนีจะเกิดขึ้นโดยอัตโนมัติและในที่ที่ไม่เกิดขึ้น ไปป์ไลน์ Markdown และไซต์คงที่จำนวนมากจะหลบหนีโค้ดที่ไม่พอใจโดยอัตโนมัติ การ Escape ล่วงหน้าก่อนระยะนั้นจะสร้าง &lt ที่มองเห็นได้ ดังนั้น จะต้องบันทึกความเป็นเจ้าของขอบเขตการ Escape เดียว
สร้างตัวสร้างไซต์แบบคงที่และมีอินพุตที่ไม่เป็นอันตรายแทนวัสดุของลูกค้า บันทึกบล็อกที่มีรั้วกั้นโดยที่สังเกตการหลบหนีเกิดขึ้นโดยอัตโนมัติและนับทุกการเรนเดอร์โค้ดตัวอย่างโดยเจตนา การแสดงโค้ด html บนเส้นทางหน้าเว็บช่วยให้นักเขียนทางเทคนิคที่มีตัวอย่างโค้ดแสดงผลเป็นปุ่มสดสามารถประเมินได้ว่าส่วนใดไม่เป็นเช่นนั้น และแสดงหลักฐานการแสดงตัวอย่างโค้ดโดยไม่ต้องเดา
ข้อผิดพลาดทั่วไป — การ Escape สองครั้งในไปป์ไลน์ Markdown และการลืม & ใน URL ภายในตัวอย่าง
ข้อผิดพลาดทั่วไป — การ Escape สองครั้งในไปป์ไลน์ Markdown และการลืม & ใน URL ภายในตัวอย่าง URL ที่แสดงภายในตัวอย่างมีเครื่องหมายและซึ่งจำเป็นต้องแปลงด้วย การเรียกใช้ตัวอย่างข้อมูลทั้งหมดเพียงครั้งเดียวจะปลอดภัยกว่าการเปลี่ยนวงเล็บมุมด้วยตนเองและมองข้ามเครื่องหมายแอมเปอร์แซนด์ไปที่อื่น
วางข้อผิดพลาดทั่วไปที่เกิดขึ้นสองครั้งในขั้นตอนมาร์คดาวน์ และลืม URL ไว้ข้างกันระหว่างการตรวจสอบการแสดงผลตัวอย่างโค้ด นักเขียนทางเทคนิคที่มีตัวอย่างโค้ดแสดงผลเป็นปุ่มสดสามารถตัดสินใจได้ว่าภายในตัวอย่างมีการเปลี่ยนแปลงที่การแปลงหรือดาวน์สตรีม เก็บโค้ด html ที่แสดงไว้บนหน้าเว็บโดยสรุปเกี่ยวกับหลักฐานการแสดงตัวอย่างโค้ดจากการอ้างสิทธิ์ด้านความปลอดภัยทั่วไป
สิ่งนี้ไม่ครอบคลุม — ไวยากรณ์ที่เน้นไลบรารีและการกำหนดหมายเลขบรรทัด
สิ่งนี้ไม่ครอบคลุมถึง - ไวยากรณ์ที่เน้นไลบรารีและการกำหนดหมายเลขบรรทัด ปากกาเน้นข้อความไวยากรณ์และส่วนประกอบหมายเลขบรรทัดอยู่นอกการดำเนินการนี้ พวกเขาอาจโทเค็นโค้ดหลังจากการหลบหนี แต่การสร้าง DOM และโมเดลความน่าเชื่อถือของตนเองจำเป็นต้องมีการตรวจสอบแยกต่างหาก
กำหนดสิ่งที่ไม่ได้ทำก่อนที่จะรันการแสดงผลตัวอย่างโค้ด บันทึกไวยากรณ์ปกที่เน้นไลบรารีเป็นตัวควบคุม ตรวจสอบจุดโค้ดด้านหลังและการกำหนดหมายเลขบรรทัด และหลักฐานการแสดงตัวอย่างโค้ดแผนที่ไปยังล่ามคนถัดไป ทำให้หลักฐานการเรนเดอร์ตัวอย่างโค้ดสามารถตรวจสอบได้สำหรับนักเขียนทางเทคนิคที่มีตัวอย่างโค้ดเรนเดอร์เป็นปุ่มที่ใช้งานจริงที่กำลังตรวจสอบโค้ด html ที่แสดงบนหน้าเว็บ
Takeaway: Escape Snippet สำหรับ HTML คอนเทนเนอร์ข้อความ ไม่ใช่จุดแทรกที่กำหนดเอง
ประเด็นสำคัญ: Escape Snippet สำหรับคอนเทนเนอร์ข้อความ HTML ไม่ใช่จุดแทรกที่กำหนดเอง ใช้เครื่องมือเพื่อสร้างข้อความต้นฉบับสำหรับองค์ประกอบก่อนหน้าหรือโค้ด HTML ไม่ใช่สำหรับจุดแทรกที่ต้องการ ผลลัพธ์ยังคงเป็นข้อความ HTML เฉพาะบริบท ไม่ใช่สตริงที่ปลอดภัยสากล
เชื่อมต่อข้อมูลโค้ด Takeaway Escape กับเอาต์พุตการแสดงผลตัวอย่างโค้ดที่สังเกตได้ เก็บคอนเทนเนอร์ข้อความ html ไว้ไม่อยู่ข้างผลลัพธ์แบบส่งครั้งเดียว จากนั้นตรวจสอบว่าจุดแทรกที่กำหนดเองเข้าสู่หลักฐานการแสดงตัวอย่างโค้ดที่ใด นักเขียนทางเทคนิคที่มีตัวอย่างโค้ดแสดงผลเป็นปุ่มที่ใช้งานอยู่ สามารถตรวจสอบหลักฐานการแสดงผลตัวอย่างโค้ดเป็นโค้ด html ที่แสดงแบบแคบในการค้นหาหน้าเว็บได้ การตัดสินใจเชิงปฏิบัติเบื้องหลังบทความนี้มีความเฉพาะเจาะจง: บล็อก <pre> ไม่ได้หยุด parser จากการอ่านแท็ก ดังนั้นจึงต้องหลีกเลี่ยงตัวอย่างโค้ด โพสต์นี้แสดงให้เห็นอย่างชัดเจนว่าจะแปลงอักขระตัวใด </script> ในตัวอย่างยังคงลงท้ายสคริปต์อย่างไร และวิธีทำให้ตัวอย่างอ่านได้ การทำงานของผู้อ่านมีความเป็นรูปธรรมเท่าเทียมกัน: ลิงก์ไปยังตัวหนีเอนทิตี HTML และสาธิตการหลีกเลี่ยงตัวอย่างข้อมูล HTML แบบหลายบรรทัดเพื่อใช้ภายในบล็อก <pre>