1

"/info"URLの最後に追加したい。すでに存在する場合はその"/info"ままにしておきたいと思います。

私は現在使用しています:

if(strpos($url, "/info") === false){
    $url .= "/info";
}

ただし、上記のコードは、URLの最後にが含まれていない場合にのみ機能します"/"

例:URLがの場合、http://www.domain.comそれは完全に機能し、出力はhttp://www.domain.com/infoです。URLがの場合はhttp://www.domain.com/、を表示しますhttp://www.domain.com//info

これを回避する方法は?

4

3 に答える 3

3

ドメインをトリミングしてから、最後の5文字を​​確認します(「/ info」文字列がURLの他の場所にある場合)。

$url = rtrim($url,'/');
if(substr($url,-5)!='/info') $url .= '/info';
于 2012-12-05T20:27:57.367 に答える
1

あなたはそれを考慮に入れる必要があります。

if(substr($url, -5) != '/info') {
  if(substr($url, -1) == "/")
      $url.="info";
  else
      $url.="/info";
}

最初のURLを変更して、URLの最後でifのみチェックするようにしたことに注意してください。'/info'ガレスがしたように;)

于 2012-12-05T20:24:42.650 に答える
1

次のURLを検討してください:http: //www.domain.com/info/test/

そのように使用するstrposと、間違った結果が得られます。代わりに、substrとrtrimを使用できます。

$url = (substr($url,-5) != '/info') ? rtrim($url, "/") . '/info' : $url;
于 2012-12-05T20:33:56.953 に答える