PHPで文字列の最初と最後の”(引用符)を取り除く方法

こんにちは、さるまりんです。

今回はPHPの小ネタです。

いろんなデータを扱っていて文字列の前後を”で括っているものに出会すことがあります。

実際に使うときは"を取り除いて

"Tokyo, Japan" => Tokyo, Japan

にしたいです。

それをどうやってやろうか考えていました。

こんな感じにsubstr関数で2文字目から最後の1文字手前までの部分文字列を取り出す?

$str = '"Tokyo, Japan"';
$len = strlen($str);
echo substr($str, 1, $len-2);

いえいえ、そんな必要全くなかったんです。

簡単にこれで大丈夫です。

$str = '"Tokyo, Japan"';
echo trim($str, '"');

trim関数の第二引数に前後から取り除きたい文字を指定するだけでできたのです。

前、後ろ、それぞれから文字を削除するltrimrtrim関数でも同じでした。

上の例の

trim($str,'"');

ではダブルクォートのみですが、シングルクォートも削除対象にしたければ、

trim($str,'\'"');

でOKです。

いつもtrim($str)としてしか呼び出していなかったのでこれ知らなかったです。。

教訓:ドキュメントはしっかり読もう。

読んでくださってありがとうございました。

それではまた。