如何在符号后面获取字符串

时间:2013-05-31 06:03:37

标签: php delimiter

我在PHP中有这个字符串吗?我使用分隔符吗?

例如:

Animal: Dog
Color: white
Sex: male

我需要在animal:color:sex:之后得到这个词。

字符串在类别

之后有新行

4 个答案:

答案 0 :(得分: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
)

答案 1 :(得分:1)

在php中使用explode()函数

$str = 'Animal: Dog';

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

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

答案 2 :(得分: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
)

答案 3 :(得分: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
?>