最好的方法来逃脱并创造一个slu ..

Mac*_*lor 6 php slug

可能重复:
PHP中的URL友好用户名?

我在某种程度上混淆了使用适当的函数来逃避和创建一个slu ..

我用过这个:

$slug_title = mysql_real_escape_string()($mtitle);
Run Code Online (Sandbox Code Playgroud)

但有人告诉我不要使用它并使用urlencode()

哪一个更适合slu and和安全

正如我在SO中看到的,它插入 - 在单词之间:

https://stackoverflow.com/questions/941270/validating-a-slug-in-django
Run Code Online (Sandbox Code Playgroud)

Tho*_*mas 12

使用MySQL或URL转义不是要走的路.

这篇文章做得更好:

function toSlug($string,$space="-") {
    if (function_exists('iconv')) {
        $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
    }
    $string = preg_replace("/[^a-zA-Z0-9 -]/", "", $string);
    $string = strtolower($string);
    $string = str_replace(" ", $space, $string);
    return $string;
}
Run Code Online (Sandbox Code Playgroud)

这也适用于重音字符.

  • 啊...... PHP的平台独立性......一定要喜欢它. (3认同)
  • 不幸的是,iconv似乎在不同平台上不一致:php -r'print iconv("UTF-8","ASCII // TRANSLIT","bär")."\n";" 在Ubuntu(10.04)上给'bar',在我的Mac上给'b"ar'. (2认同)