PHPを使用して文字列からラベルとデータを抽出したいと思います。文字列は次のようになります。
Label: Info;
Label1: Info1;
Label2: Info2;
Label3: Info3;
..............
私の解決策は、すべての label に strpos を使用し、それを変数に保持し、遅すぎるそのラベルのデータを抽出することです。別の方法を提案していただけますか?
私は間違いなくREGEXの専門家ではありませんが、これは私が思いついた解決策です。
$ptn = "/(Label[0-9]?):?.?(.+);/";
$str = "Label: Info;
Label1: Info1;
Label2: Info2;
Label3: Info3;";
preg_match_all($ptn, $str, $matches, PREG_SET_ORDER);
print_r
onを使用すると$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
)
)