AdWordsキャンペーンのURLを生成していますが、一部のカンパンギン名には角かっこが含まれてい( )
ます[ ]
。そしてサンプルURLはこのように見えます
http://www.website.com/?utm_source=google%5BB%2B%5D&utm_medium=cpc&utm_content=google_ad(B)&utm_campaign=product
これでいいですか?
括弧「()」は、URL のクエリ部分 (つまり、「?」の後の部分) でそのまま使用できます。「%28」および「%29」のように % エンコードすることは可能ですが、必須ではありません。
角かっこ「[]」は、クエリ部分で「%5B」および「%5D」のように % エンコードされます。
www.website.com が実際に存在するための実際の URL であるサンプル URL (存在しないことが保証されているダミーのドメイン名として www.example.com を使用してください) は、このように正しく形成されています。
URL 構文の一般的な規則は、現在RFC 3986であるインターネット標準 STD 66 で定義されています。その付録 A は、文字の規則を指定し、括弧はクエリ部分で % エンコードなしで許可される「サブデリム」グループに属するものとしてリストしますが、括弧は % エンコードされる「gen-delims」に属するものとしてリストします。
ああ、括弧については「問題ありません」(Kinected も尋ねたように: 何が問題ですか?)。ただし、恐れている場合は、常にurlencode
クエリ文字列に使用してください。
<?php
echo "http://www.example.com/index.php?boo=",urlencode("sample(parenthesis)and[square_brackets]");
//http://www.example.com/index.php?boo=sample%28parenthesis%29and%5Bsquare_brackets%5D