首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用本地语言转换字符串url友好的插件

用本地语言转换字符串url友好的插件
EN

Stack Overflow用户
提问于 2017-04-16 20:07:54
回答 5查看 3.7K关注 0票数 2

我想把一个用户输入的字符串转换成我的本地语言的url友好的插件。

我已经使用了laravel 5.2,并尝试使用str_slug($request->input('title'))

它可以将英文字符串转换为slug,但对于本地语言,它返回空字符串。我的输入将使用孟加拉语言。

使用$request->input('title')。我得到了孟加拉文本,但无法将其转换为url友好的插件。

我该如何解决这个问题呢?

谢谢。

EN

回答 5

Stack Overflow用户

发布于 2017-04-17 15:04:27

您可以使用以下函数。我不知道它能不能和当地语言一起工作。但是你可以试一试。

代码语言:javascript
运行
复制
public function createSlug($str, $delimiter = '-'){

    $slug = strtolower(trim(preg_replace('/[\s-]+/', $delimiter, preg_replace('/[^A-Za-z0-9-]+/', $delimiter, preg_replace('/[&]/', 'and', preg_replace('/[\']/', '', iconv('UTF-8', 'ASCII//TRANSLIT', $str))))), $delimiter));
    return $slug;

} 

您可以在此处查看您的特定本地语言http://code.google.com/p/php-slugs/

票数 3
EN

Stack Overflow用户

发布于 2020-01-07 18:10:44

我知道这很旧,但是你可以使用laravel Str::slug() helper

第一个参数是title

第二个参数是分隔符

第三个参数是语言

示例:

代码语言:javascript
运行
复制
Str::slug($file->getClientOriginalName(), '-', 'bn');
票数 1
EN

Stack Overflow用户

发布于 2017-04-17 15:30:01

我已经使用jquery完成了这项工作,并且运行良好

代码语言:javascript
运行
复制
$('input[name=title]').on('blur', function () {
    var slugElm = $('input[name=slug]');

    if (slugElm.val()) { return; }

    // slugElm.val(this.value.toLowerCase().replace(/[^a-z0-9-]+/g, '-').replace(/^-+|-+$/g, ''));

    slugElm.val(this.value.toLowerCase().replace(this.value, this.value).replace(/^-+|-+$/g, '')
        .replace(/\s/g, '-'));

})

对于幼虫来说,有一个解决方案。

http://killerwhalesoft.com/blog/make-laravel-slug-support-utf8-characters/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43437067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档