การเขียนโปรแกรม PHP แสดงข้อความที่ยาวๆ ให้เหลือแค่ข้อความสั้นๆ แล้วต่อท้ายด้วย … นั้น สามารถทำได้หลายวิธี วันนี้ผมมีฟังก์ชั่นที่สามารถช่วยให้การทำงานในการย่อข้อความที่ยาวๆ ให้เหลือสั้นๆได้มาฝากครับ ประโยชน์ของมันคือ การจำกัดความยาวของข้อความหรือประโยคยาวๆ ให้อยู่ในขอบเขตหรือรูปแบบที่เรากำหนด เพื่อความสวยงามของหน้าเว็บไซต์และ ทำให้มองดูไม่รกจนเกินไปครับ

php-loop

ฟังก์ชั่น excerpt แสดงข้อความอย่างย่อ

ฟังก์ชั่น except สามารถเขียนแยกไฟล์ไว้ หรือจะใส่ไว้ในไฟล์ที่จะใช้งานก็ได้แล้วแต่ความถนัดเลยครับ ส่วนตัว ผมแยกไว้ที่ไฟล์ functions.php เป็นต้น

function excerpt($content,$limit) {
	$excerpt = explode(' ', $content, $limit);
	if (count($excerpt) >= $limit) {
		array_pop($excerpt);
		$excerpt = implode(" ",$excerpt).'...';
	} else {
		$excerpt = implode(" ",$excerpt);
	}	
	$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
	return $excerpt;
}

การเรียกใช้งานก็ไม่มีอะไรมากแค่ echo ตัวฟังก์ชั่นเท่านั้นเอง ตามตัวอย่าง

echo excerpt($contents,20);
  •  $contents คือตัวแปรที่เก็บค่าประโยคหรือข้อความยาวๆ
  • ตัวเลข 20 คือ จำนวนวรรคในประโยคหรือข้อความ แบ่งตามนี้เพื่อความสวยงามของประโยคครับ ข้อดีคือ หากเป็นภาษาไทย มันจะไม่ตัดพยัญชนะที่อยู่ในคำเดียวกัน ทำให้การอ่านไม่เพี๊ยน และควรกำหนด unicode ให้เป็น UTF-8 ไว้ด้วย เพื่อจะได้ไม่เกิดภาษาขอม แต่ถ้าเป็นภาษาอังกฤษ จะไม่มีปัญหาครับ

จบแล้วครับกับฟังก์ชั่น excerpt แสดงข้อความอย่างย่อ แบบง่ายๆ สามารถนำไปใช้ได้เลย แล้ววันหลังจะเอาฟังก์ชั่นแจ่มๆ มาฝากกันอีกครับ

บทความโดย TsupamaN

Comments