末尾のスラッシュ「/」を削除する
$url = rtrim( $url, '/' ) . "/index.html";
rtrim( $url, '/' ) で、末尾にスラッシュがあれば削除されます。なければそのままです。・PHP: trim - Manual
rtrimは、何も指定しないと右側の空白をトリムするわけですが、指定するとその文字でトリムしてくれます。
WordPressでは標準で関数が用意されている
//末尾に「/」があれば削除する
function untrailingslashit( $string ) {
return rtrim( $string, '/' );
//return rtrim( $string, '/\\' );
}
//末尾に「/」を追加する
function trailingslashit( $string ) {
return untrailingslashit( $string ) . '/';
}
/wp-includes/functions.phpで定義されています。
実際のコードは、return rtrim( $string, '/\\' );となってますが、たぶんWindowsのフォルダ区切りの「¥」も削除するようなロジックになっているからだと思われます。
$url = untrailingslashit($url) . "/index.html";
こんな感じで書けます。
何も考えずに、untrailingslashitをすればよい気がする
$url = rtrim( $url, '/' ) . "/index.html";
$url = untrailingslashit($url) . "/index.html";
パスやURLで末尾にスラッシュ「/」があろうとなかろうと、機械的に上記の処理を置けばよいのでは?と思う。
スポンサーリンク
コメントを残す