- ベストアンサー
PHPで文字列の一部を取り出したい
PHPで 文字列が、 SETING TIME: 00:00:32.421 と有った場合、 00:00:32.421 部分だけを取り出したい場合はどのようにすれば良いのでしょうか? よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
正規表現だとこんな感じ <?PHP $str="SETING TIME: 00:00:32.421"; $pattern="/(?<=SETING TIME: )\d{2}:\d{2}:\d{2}\.\d{3}/"; if(preg_match($pattern,$str,$match)){ print $match[0]; }
その他の回答 (2)
- t_ohta
- ベストアンサー率38% (5253/13739)
回答No.2
私だったら list(, $time) = explode(':', 'SETING TIME: 00:00:32.421', 2); $time = trim($time); って感じで処理しますね。
質問者
お礼
なるほど、文字を抜き出す方法には色々なやり方があるんですね。 ありがとうございます。
noname#217950
回答No.1
いろんなやり方があるのでベストの方法かわかりませんが、参考までに… $settingTime = str_replace('SETING TIME: ','','SETING TIME: 00:00:32.421'); で、元の文字列から「SETING TIME: 」を空の文字列と入れ替えています。 trim系の関数を使うのが一般的なのかもしれませんが、どうも僕はtrim系の関数の挙動が不安定な気がして(おそらく僕の使い方が悪い)、こんなやり方をしてしまいます。
質問者
お礼
trimを使うのが簡単そうですが、書き方によって挙動不振になる事が有るんですね。 ありがとうございます。
お礼
正規表現というものが有るのですね。 ここの表現を変えると色々なフォーマットに対応で来そうですね。 ありがとうございます。