Typography Helper
ไฟล์ Typography Helper มีฟังก์ชันที่ช่วยคุณจัดรูปแบบข้อความโดยมุ่งเน้นที่ความสำคัญด้านความหมาย
เรียกใช้ผู้ช่วยนี้
ตัวช่วยนี้สามารถถูกเรีัยกใช้ได้ตามโค้ดต่อไปนี้
$this->load->helper('typography');
มีฟังก์ชันให้ใช้ได้ดังนี้
auto_typography()
จัดรูปแบบข้อความให้มีความหมายและรูปแบบที่ถูกต้องตาม HTML โดยป้อนข้อมูลเป็นสตริงและจะส่งผลลัพธ์กลับมาตามการจัดรูปแบบดังนี้
- ล้อมย่อหน้าด้วย <p></p> (โดยจะมองหาการขึ้นบรรทัดใหม่ 2 ครั้ง (\n\n) เพื่อระบุว่าเป็นย่อหน้า)
- ขึ้นบรรทัดใหม่ครั้งเดียวจะถูกเปลี่ยนเป็น <br /> ยกเว้นว่าการขึ้นบรรทัดใหม่นั้นปรากฎอยู่ภายใต้แท็ก <pre>
- องค์ประกอบที่อยู่ในระดับแบ่งส่วน(Block level element) อย่างเช่นแท็ก
<div> จะไม่ถูกห่อด้วยย่อหน้า
แต่ข้อความที่อยู่ภายในจะถูกห่อถ้าภายในมีย่อหน้า (จาก \n\n)
- คำอ้างอิงจะถูกเปลี่ยนไป (ในที่นี้หมายถึง ' , ") เป็นในทางที่ถูกต้องโดยใช้สัญลักษณ์เหล่านี้แทน ‘ ’ “ ” ยกเว้นว่าจะอยู่ภายในแท็ก
- ขีดกลางสองอัน (อย่างเช่นแบบนี้ -- หรือแบบนี้--) จะถูกเปลี่ยนไปเป็นขีดกลางแบบ em(—)
- จุดสามจุดติดกันอยู่ด้านหน้าหรือตามหลังคำจะถูกเปลี่ยนเป็นการละไว้ (ellipsis หรือแบบนี้ …) (แต่เหมือนถ้าเอาไว้ด้านหน้าจะไม่เปลี่ยนนะ)
- ช่องว่างสองอันตามด้วยประโยคจะถูกเปลี่ยค่าไปเป็นช่องว่างแบบไม่หยุด (non-breaking space) เพื่อเลียนแบบการเว้นช่องว่างสองครั้ง
ตัวอย่างการใช้งาน
$string = auto_typography($string);
ข้อสำคัญ:
การจัดรูปแบบทางการพิมพ์ตัวอักษรจะถูกดำเนินการอย่างละเอียด
โดยเฉพาะถ้าคุณมีเนื้อหาจำนวนมากที่จะถูกจัดรูปแบบ
ถ้าคุณเลือกที่จะใช้ฟังก์ชันนี้ คุณอาจจะต้องพิจารณาเรื่อง
เก็บข้อมูลไว้ในหน่วยความจำ(caching) บนหน้าของคุณ
nl2br_except_pre()
เปลี่ยนบรรทัดใหม่เป็นแท็ก <br /> ยกเว้นจะปรากฎอยู่ภายในแท็ก <pre> ฟังก์ชันนี้จะทำงานลักษณะเดียวกับฟังก์ชัน nl2br() พื้นฐานของ PHP ยกเว้นแต่มันจะละเลยแท็ก <pre>
ตัวอย่างการใช้งาน
$string = nl2br_except_pre($string);