-1

rawurlencodeとurlencodeを使用してみましたが、どちらも「&」と他の「+」が表示されます。

私が求めているのは、Stack Overflowのように、単語の間に「-」を挿入するPHP関数はありますか?

ありがとう

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

さて、前述のようにurl_encode、テキストからURLを作成すること、つまりSEOに適したものにすることとは無関係です。通常、これはURLのslugifyと呼ばれます。これは一般的にあなたが探しているものだと思いますよね?

このようなメソッドの例を次に示しますhttp://sourcecookbook.com/en/recipes/8/function-to-slugify-strings-in-php

于 2011-02-28T19:53:16.237 に答える
0

rawurlencodeurlencodeURLを正しい形式にするためのものです。ダッシュのスペースを置き換える場合は、次を使用する必要があります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 に答える