0

私はこの質問をどのように表現するか本当に混乱しています。角かっこで囲まれた文字列の一部を取得する必要があります。例をご覧ください

Re: [115] VFA 1 von 04/11/2012 bis 04/12/2012 mit-1221

これは、メールの件名として送信している誰かです。角括弧から 115 という数字を取得する必要があります。角括弧 came よりも多い場合、これの位置が常に最初になります

どうすればそれを修正できますか。

編集

文字列の [] のすべてのインスタンスを取得できたらいいのに Re: [115] [12] VFA 1 von 04/11/2012 bis 04/12/2012 mit-1221

ありがとう

4

2 に答える 2

2

正規表現でこれを行うことができます:

preg_match_all('/\[(\w+)\]/', $str, $matches);
$square_brackets = $matches[1]; // array of: "115", "12"
于 2012-04-13T10:45:52.857 に答える
1

これは、メールの件名として送信している誰かです。角括弧から 115 という数字を取得する必要があります。角括弧 came よりも多い場合、これの位置が常に最初になります

常に数値で、常に最初に括弧で囲まれる場合:

<?php
$line = 'Re: [115]VFA 1 von 04/11/2012 bis 04/12/2012 mit-1221';

if( preg_match( '~\[(\d+)\]~', $line, $matches ) !== 0 ) {
    $number = array_shift( $matches );
}
else { // no match.
}
于 2012-04-13T10:50:13.027 に答える