-1

我试过使用 rawurlencode 和 urlencode,都给我“&”和另一个“+”。

我要问的是,是否有一个 PHP 函数将“-”放在单词之间,比如 Stack Overflow 上?

谢谢

4

4 回答 4

1

如果这就是你想要做的一切,你可以使用:

    $url = str_replace(" ", "-", $url);

之后使用urlencode它对其进行编码。例如:

    function myurlencode($url)
    {
        return urlencode(str_replace(" ", "-", $url));
    }

编辑

并且根据PHP 手册,它取代了all non-alphanumeric characters except -_. with a percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs.

于 2011-02-28T19:48:52.260 回答
0

rawurlencode并且urlencode用于使 URL 的格式正确。如果要替换破折号的空格,则需要使用str_replace

str_replace(" ", "-", $url);
于 2011-02-28T19:49:06.863 回答
0

如果您只想用另一个字符替换一类字符,请使用str_replace

例如:

$newURL = str_replace(" ", "-", $oldURL);

会做你想做的

urlencode是一组非常具体的字符替换,它遵循 url 编码的标准。

于 2011-02-28T19:49:30.083 回答
0

好的,正如所提到url_encode的,它与从文本中制作 URL 无关,即使它们对 SEO 友好。通常这被称为 slugify 一个 url。我想这通常是你要找的,对吧?

这是这种方法的示例http://sourcecookbook.com/en/recipes/8/function-to-slugify-strings-in-php

于 2011-02-28T19:53:16.237 回答