一尘不染

生成SEO友好的URL(段)

php

定义

来自维基百科:

蛞蝓 是识别使用人类可读关键字的页面的URL的一部分。

为了使URL易于用户输入,通常也删除或替换特殊字符。例如,带重音的字符通常被英语字母中的字母代替;标点符号通常会被删除;和空格(必须将其编码为%20或+)替换为破折号(-)或下划线(_),从美学上讲更令人愉悦。

语境

我开发了一个照片共享网站,用户可以在该网站上上传,共享和查看照片。

所有页面都是自动生成的,而我无需掌握标题。由于照片的标题或用户的名称可能包含重音字符或空格,因此我需要一个函数来自动创建标签并保持可读的URL。

我创建了以下函数,该函数替换带重音符号(âèêëçî),删除标点符号和不良字符(#@&〜^!)并以破折号转换空格。

问题

  • 您如何看待此功能?
  • 您知道其他创建子弹的功能吗?

PHP”显示标记为“ php”的问题”):

function sluggable($str) {

    $before = array(
        'àáâãäåòóôõöøèéêëðçìíîïùúûüñšž',
        '/[^a-z0-9\s]/',
        array('/\s/', '/--+/', '/---+/')
    );
 
    $after = array(
        'aaaaaaooooooeeeeeciiiiuuuunsz',
        '',
        '-'
    );

    $str = strtolower($str);
    $str = strtr($str, $before[0], $after[0]);
    $str = preg_replace($before[1], $after[1], $str);
    $str = trim($str);
    $str = preg_replace($before[2], $after[2], $str);
 
    return $str;
}

阅读 275

收藏
2020-05-29

共1个答案

一尘不染

似乎还可以,可能还不完整。查看http://code.google.com/p/php-slugs/中的代码示例。

2020-05-29