将字符串转换为仅使用单连字符分隔符的辅助信息域

2022-08-30 17:34:35

我想将字符串清理到URL中,因此这是我基本上需要的:

  1. 必须删除除字母数字字符和空格以及虚线之外的所有内容。
  2. 空格应转换为短划线。

例如。

This, is the URL!

必须返回

this-is-the-url

答案 1
function slug($z){
    $z = strtolower($z);
    $z = preg_replace('/[^a-z0-9 -]+/', '', $z);
    $z = str_replace(' ', '-', $z);
    return trim($z, '-');
}

答案 2

第一条带不需要的字符

$new_string = preg_replace("/[^a-zA-Z0-9\s]/", "", $string);

然后更改非分数的空间

$url = preg_replace('/\s/', '-', $new_string);

最后编码它准备使用

$new_url = urlencode($url);

推荐