首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >生成slug (URL字符串)的PHP函数

生成slug (URL字符串)的PHP函数
EN

Stack Overflow用户
提问于 2010-06-02 13:41:17
回答 24查看 297.8K关注 0票数 197

我想有一个从Unicode字符串创建插件的函数,例如gen_slug('Andrés Cortez')应该返回andres-cortez。我该怎么做呢?

EN

Stack Overflow用户

发布于 2017-03-12 05:29:43

有一个很好的解决方案here,它也可以处理特殊字符。

Texto Fantático => texto-fantastico

代码语言:javascript
运行
复制
function slugify( $string, $separator = '-' ) {
    $accents_regex = '~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i';
    $special_cases = array( '&' => 'and', "'" => '');
    $string = mb_strtolower( trim( $string ), 'UTF-8' );
    $string = str_replace( array_keys($special_cases), array_values( $special_cases), $string );
    $string = preg_replace( $accents_regex, '$1', htmlentities( $string, ENT_QUOTES, 'UTF-8' ) );
    $string = preg_replace("/[^a-z0-9]/u", "$separator", $string);
    $string = preg_replace("/[$separator]+/u", "$separator", $string);
    return $string;
}

作者: Natxet

票数 1
EN
查看全部 24 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2955251

复制
相关文章

相似问题

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