如何在 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.
我正在研究泰米尔语 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.