โค้ดสำหรับสร้าง Slug จากข้อความที่กำหนดเป็นดังนี้
public static function slugify($str, $delimiter = '-')
{
// Replace none alphanumeric with delimiter
$str = preg_replace('/[^A-Za-z0-9]+/', $delimiter, $str);
// Replace duplicated delimiter
$str = preg_replace("/$delimiter+/", $delimiter, $str);
// Trim delimiter
$str = trim($str, $delimiter);
// Convert to lower case
$str = strtolower($str);
return $str;
}
ขั้นตอนการทำงานเป็นดังนี้
- แทนที่อักขระพิเศษที่ไม่ใช่ตัวอักษรและตัวเลขด้วย delimiter
- ลบ delimiter ที่อยู่ติดกันออกให้เหลือเพียงตัวเดียว
- ตัด delimiter ที่อาจจะมีอยู่ทั้งหน้าและหลังข้อความออก
- แปลงข้อความที่ได้เป็นตัวพิมพ์เล็ก
No comments:
Post a Comment