次の形式の改行とスペースのある文字列があります。
<?php
$str = 'Name: XXXXXXXX
Email: [email protected]
Community: Test Community.';
?>
この文字列を次のような配列に変換したい
Array(
[Name] => XXXXXXXX
[Email]=> [email protected]
[Community] => Test Community.
)
私の試み:
$str = 'Name: XXXXXXXX Email: [email protected] Community: Test Community.';
echo "<pre>";
print_r(explode(":", $str));
exit;
まず、パターンを使用して文字列を分割します\n+
。次に、文字列を分割した後に取得したarray_reduce()を使用して、配列に対して反復を行います。反復のすべてのサイクルで、文字列aneprepareを分解します。期待されるフォーマット。
コード例:
$str = 'Name: XXXXXXXX
Email: [email protected]
Community: Test Community.';
$elm = preg_split('/\n+/', $str);
$data = array_reduce($elm, function ($old, $new) {
$key_value = explode(':', $new);
$old[$key_value[0]] = $key_value[1];
return $old;
}, []);
print_r($data);
作業デモ。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加