33 lines
709 B
PHP
Executable File
33 lines
709 B
PHP
Executable File
<?php
|
|
namespace App\Libraries;
|
|
|
|
class Slug
|
|
{
|
|
// This function converts a string into slug format
|
|
public function slugify($text)
|
|
{
|
|
// replace non letter or digits by -
|
|
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
|
|
|
|
// transliterate
|
|
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
|
|
|
|
// remove unwanted characters
|
|
$text = preg_replace('~[^-\w]+~', '', $text);
|
|
|
|
// trim
|
|
$text = trim($text, '-');
|
|
|
|
// remove duplicate -
|
|
$text = preg_replace('~-+~', '-', $text);
|
|
|
|
// lowercase
|
|
$text = strtolower($text);
|
|
|
|
if (empty($text)) {
|
|
return 'n-a';
|
|
}
|
|
|
|
return $text;
|
|
}
|
|
} |