2011-11-15 11 views
0

私はZend Frameworkを使ってフィードを生成しています。ZendはこのURIが無効であると言います

私は以下のようなリンクを設定していたとき、私はエラー

$feed = new Zend_Feed_Writer_Feed; 
$url = "http://www.example.com/search?s=chris|gayle|pics&device=1" 
$feed->setLink($url); 

を取得し、私は問題を把握することができませんでした、Zend_Uri.phpとHttp.phpて検索。メッセージと

例外 'Zend_Feed_Exception' '無効なパラメータ: パラメータが空の文字列、有効なURI/IRIでなければならない'

答えて

3

|が許可されていません。代わりに%7Cを使用してください。詳細情報については

、URLの使用urlencodeをエンコードするにはhttp://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters

を参照してください。これにより、すべての文字が標準URIに正しくエンコードされるようになります。

http://php.net/manual/en/function.urlencode.php

+0

このフィードは検索結果です。ユーザーはスペース文字で何かを検索することがあります。スペース文字を置き換えるのに最高の文字は何ですか? – emaillenin

+0

スペースは '+'でなければなりません。より多くの情報で私の答えを更新する。 – Joe

2

あなたは正しいURIが「http://www.example.com/search?s=chris%7Cgayle%7Cpics &デバイス= 1になります

あなたのURIの値をURLENCODEする必要があるかもしれません"

urlencode()またはrawurlencode()を使用してください。 URIパーツをエンコードする

$url = "http://www.example.com/search?s=".urlencode("chris|gayle|pics")."&device=1" 
2

Which characters make a URL invalid? |有効なシンボルではありません。

これらの文字をURLに含めるには、URLをエンコードする必要があります。これを行うにはurlencodeメソッドを使用できます。

関連する問題