【PHP】全角文字列(半角も)の最後の一文字を削除する方法
2018/12/17
「あああ、いいい、ううう、」という文字列があり、末尾の「、」を削除したいという場合の処理方法。
半角文字列での場合は「rtrim」で任意の文字を削除することが出来るのですが、全角文字列の場合はどうすればスマートに出来るのか。
全角文字列の最後の一文字を削除
1 |
$str = 'あああ、いいい、ううう、'; |
「ううう」のあとの「、」を削除したいって場合の処理方法です。
1 2 3 4 5 |
$str = 'あああ、いいい、ううう、'; $str = mb_substr($str, 0, -1, "utf-8"); // 結果 echo $str; // 「あああ、いいい、ううう」となる |
おう、スマート。
第3引数(開始位置)に「-1」を渡すのがミソ。
開始位置をマイナスの値で指定した場合、文字列の最後の位置から先頭に向かって何文字目かという意味になります。
なお、第2引数(取り出し開始位置)は「0」が先頭という意味。数え方は配列と同じですね。
半角文字列の最後の一文字(任意文字)を削除
ちなみに半角文字列の場合は上記の方法ではなく、「rtrim」を使えば一発で出来ます。
1 2 3 4 5 |
$str = 'aaa,bbb,ccc,'; $str = rtrim($str, ','); // 結果 echo $str; // 「aaa,bbb,ccc」となる |
「trim」というと空白文字を消すという印象がありますが、実は任意文字が設定可能だったりします。