長い文字列テキストから特定の情報を抽出しようとしています。テキストは次のとおりです。
Rating: Explicit Score: 17 Tags: apron blonde_hair brown_eyes itaru_chokusha kirigaya_kazuto long_hair 乳首 no_bra nopan ヌード sword_art_online yuuki_asuna User: openui
それらを次のように抽出したい
- レーティング: 明示的
- スコア: 17
- タグ: エプロン 金髪_髪 茶色_目 いたる_直者 桐ヶ谷和人 長髪 剣_art_online 結城明日奈
- ユーザー: openui
私が試したコードは、ヘッダーのみを取り出すことができました
$imageTitle = "Rating: Explicit Score: 17 Tags: apron blonde_hair brown_eyes itaru_chokusha kirigaya_kazuto long_hair nipples no_bra nopan nude sword_art_online yuuki_asuna User: openui";
preg_match_all("/[a-z]{1,}\:\s/i", $imageTitle, $matches);
var_dump($matches);
やっと使ってみ(.*)
ましたが、全文表示されました。これは1つの単語のみを抽出します
preg_match_all("/[a-z]{1,}\:\s[a-z0-9]{1,}/i", $imageTitle, $matches);
//Output
array (size=1)
0 =>
array (size=4)
0 => string 'Rating: Explicit' (length=16)
1 => string 'Score: 17' (length=9)
2 => string 'Tags: apron' (length=11)
3 => string 'User: openui' (length=12)
残りの情報を抽出する方法は? また、可能であれば配列のインデックスと値としても。