Üzerinden baya zaman geçmiş ama ihtiyacı olan olabilir Google'da
Laravel Türkçe slug
yazınca burası çıkıyor.
Edit:
Önceki kodun bazı eksikleri olduğunu fark ettim, daha iyi çalışan bir hali şu şekilde:
// App\Libraries\Helpers\stringhelper.php
// Not: composer.json'u editleyerek autoload kısmında
/* "files": [
"app/Libraries/Helpers/stringhelpers.php"
], */
// Gibi kısım eklemeniz gerekiyor.
function remove_double_spaces($string)
{
return preg_replace('/\s+/', ' ', $string);
}
function to_slug($string, $splitter = '-')
{
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
$clean = preg_replace('/[^a-zA-Z0-9&\/_| -]/', '', $clean);
$clean = str_replace('&', ' ', $clean);
$clean = remove_double_spaces($clean);
$clean = str_to_lower(trim($clean));
$clean = preg_replace('/[\/_| &-]+/', $splitter, $clean);
return $clean;
}
Eski kod:
// App/Libraries/MyHelper.php
// ...
public static function str_slug($string, $splitter = '-')
{
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
$clean = preg_replace('/[^a-zA-Z0-9\/_| -]/', '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace('/[\/_| -]+/', $splitter, $clean);
return $clean;
}
//...
Kaynak:
http://cubiq.org/the-perfect-php-clean-url-generator
larachat slack grubundaki @lloople 'ye teşekkürler