-1

PHP にこの文字列がありますが、区切り文字を使用しますか?

元:

Animal: Dog
Color: white
Sex: male

、、、の後animal:に単語を取得する必要がcolor:ありsex:ます。

文字列にはカテゴリの後に改行があります

4

4 に答える 4

4
<?php

$str = 'Animal: Dog
Color: white
Sex: male';

$lines = explode("\n", $str);

$output = array(); // Initialize

foreach ($lines as $v) {
  $pair = explode(": ", $v);
  $output[$pair[0]] = $pair[1];
}

print_r($output);

結果:

Array
(
    [Animal] => Dog
    [Color] => white
    [Sex] => male
)
于 2013-05-31T06:12:12.710 に答える
1

使用preg_match_all:

$string = 'Animal: Dog
Color: white
Sex: male';

preg_match_all('#([^:]+)\s*:\s*(.*)#m', $string, $m);
$array = array_combine(array_map('trim', $m[1]), array_map('trim', $m[2])); // Merge the keys and values, and remove(trim) newlines/spaces ...
print_r($array);

出力:

Array
(
    [Animal] => Dog
    [Color] => white
    [Sex] => male
)
于 2013-05-31T06:19:52.443 に答える
1

PHPでexplode()関数を使用する

$str = 'Animal: Dog';

$arr = explode(':',$str);
print_r($arr);

ここ$arr[0] = 'Animal' and $arr[1] = 'Dog'.

于 2013-05-31T06:12:17.517 に答える
0
<?php
    $str = "Animal: Dog Color: White Sex: male";
    $str = str_replace(": ", "=",  $str);
    $str = str_replace(" ", "&",  $str);
    parse_str($str, $array); 

?>

次に、$array のキーを使用して値を呼び出します。

<?php
     echo $array["Animal"]; //Dog
?>
于 2013-05-31T06:18:02.943 に答える