如何在 laravel 路线中使用泰米尔语字符作为 slug?

How to use tamil characters as a slug in laravel route?

我正在研究泰米尔语 siddha 项目,但我卡住了,因为我不知道如何将泰米尔语字符用作 slug。

routes.web

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', 'user\HomeController@index')->name('index');
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('/questions', 'User\PostController', ['except' => ['show']]);
Route::get('/questions/{slug}', 'User\PostController@show')->name('post');
Route::resource('/tags', 'User\TagController');

我是如何创造我的鼻涕虫的:

结合了我的标题post_id, 但是当我使用泰米尔字符作为标题时,我无法将它组合起来。

post控制器

public function store(Request $request)
    {
        $this->validate($request,[

            'title' => 'required',
            'body' => 'required',
        ]);

        $post = new Post;

        $post -> title = $request -> title;
        $post -> body = $request -> body;
        $post -> tags = implode(', ', $request -> tags);
        $post -> posted_by = 1;
        $post -> save();
        $post_ID = $post->post_id;
        $post -> slug = $post_ID.'-'.str_slug($post -> title, '-');
        $post -> save();                        

        return redirect(route('questions.index'));
    }

我该如何解决这个问题?

请注意 str_slug 在 Laravel 6 & 7 中已弃用,您可以使用 Str::slug 代替 https://laravel.com/docs/7.x/helpers#method-str-slug

关于您的问题,您可以按照此处可能对您有所帮助的说明进行操作: (包括创建您自己的函数来扩展 Laravel slug helper) http://killerwhalesoft.com/blog/make-laravel-slug-support-utf8-characters/

这里复制太长了,所以直接放link.