例えば WordPressを使ったサイトで home_url('/')
でサイトのURLを取得してそこからURLを組み立てたい時とか。
home_url('/')
は行末に /
が出力されるので、/
始まりの変数と結合するとイケてないURLに…
<?php define('IMG_DIR', '/assets/images'); $dir = home_url('/') . IMG_DIR; echo $dir; // => http://example.wordpress.com//assets/images
str_replace()
を使って削除できるけど正規表現が必要なので、そこまでカロリーを使いたくない…
trim系の関数で除去できた!
trim系の関数は第二引数に除去する文字列を指定することができるようです。
これを利用して、行末の/
を除去したい場合は rtrim(str, '/')
とすればOK。
rtrim
string rtrim ( string $str [, string $character_mask ] )
パラメータ
character_mask
削除する文字を指定することも可能です。 削除したい全ての文字をリストにしてください。.. を文字の範囲を指定する際に使用可能です。
出典: PHP: rtrim - Manual
<?php rtrim( home_url('/'), '/' ); // => http://example.wordpress.com echo rtrim( home_url('/'), '/' ) . IMG_DIR; // => http://example.wordpress.com/assets/images
簡単にできた(۶•̀ᴗ•́)۶
trim()
って空文字除去ってイメージしかなかったので、第二引数で除去する文字列を自由に指定できることは知りませんでした… (そういえば行末の改行削除とかでも使ってた気がしてきた…
確かにtrimって刈り込むとか切り落とすとかって意味ですから、空文字に限らなくても不思議ではないですね!
[参考]

トリミングシザー ハサミ トリマー ペット用 カーブ セニング カット シザー 犬 猫 自宅 毛 切る 全身美容 丸い先端 安全性高いAUGYMER 専用ケース付き
- 出版社/メーカー: AUGYMER
- メディア: その他
- この商品を含むブログを見る