rawurlencodeとurlencodeを使用してみましたが、どちらも「&」と他の「+」が表示されます。
私が求めているのは、Stack Overflowのように、単語の間に「-」を挿入するPHP関数はありますか?
ありがとう
rawurlencodeとurlencodeを使用してみましたが、どちらも「&」と他の「+」が表示されます。
私が求めているのは、Stack Overflowのように、単語の間に「-」を挿入するPHP関数はありますか?
ありがとう
それがあなたがやろうとしているすべてであるならば、あなたはただ使うことができます:
$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.
さて、前述のようにurl_encode
、テキストからURLを作成すること、つまりSEOに適したものにすることとは無関係です。通常、これはURLのslugifyと呼ばれます。これは一般的にあなたが探しているものだと思いますよね?
このようなメソッドの例を次に示しますhttp://sourcecookbook.com/en/recipes/8/function-to-slugify-strings-in-php
rawurlencode
urlencode
URLを正しい形式にするためのものです。ダッシュのスペースを置き換える場合は、次を使用する必要がありますstr_replace
。
str_replace(" ", "-", $url);
文字のクラスを別のクラスに置き換えるだけの場合は、str_replaceを使用します
例えば:
$newURL = str_replace(" ", "-", $oldURL);
あなたがやりたいことをします
urlencodeは、非常に特殊な文字置換のセットであり、URLエンコードの標準に従います。