0

PHPを使用して文字列からラベルとデータを抽出したいと思います。文字列は次のようになります。

 Label: Info;
 Label1: Info1;
 Label2: Info2;
 Label3: Info3;
 ..............

私の解決策は、すべての label に strpos を使用し、それを変数に保持し、遅すぎるそのラベルのデータを抽出することです。別の方法を提案していただけますか?

4

1 に答える 1

2

私は間違いなくREGEXの専門家ではありませんが、これは私が思いついた解決策です。

$ptn = "/(Label[0-9]?):?.?(.+);/";
$str = "Label: Info;
Label1: Info1;
Label2: Info2;
Label3: Info3;";
preg_match_all($ptn, $str, $matches, PREG_SET_ORDER);

print_ronを使用すると$matches、次のものが返されます。

Array
(
    [0] => Array
        (
            [0] => Label: Info;
            [1] => Label
            [2] => Info
        )

    [1] => Array
        (
            [0] => Label1: Info1;
            [1] => Label1
            [2] => Info1
        )

    [2] => Array
        (
            [0] => Label2: Info2;
            [1] => Label2
            [2] => Info2
        )

    [3] => Array
        (
            [0] => Label3: Info3;
            [1] => Label3
            [2] => Info3
        )

)
于 2012-07-12T14:39:46.647 に答える