我得到字符串:
$res = "RESULT: SUCCESS
NUMBER_TYPE: 0";
我想得到“结果”,为此我使用explode
:
$arr = explode('\n\r', $res);
$result = trim(explode('RESULT:', $arr[0]));
但我得到Arrayfalse
请告诉我如何正确获取RESULT
?
P.S。:结果应为SUCCESS
答案 0 :(得分:1)
您可以使用explode然后preg_split
$arr = explode(':', $res);
$arr = preg_split('/\s+/', $arr[1]);
echo $arr[1];
你也可以使用这个只爆炸。
$arr = explode("\n", $res);
$arr= explode(":", $arr[0]);
echo trim($arr[1]);
答案 1 :(得分:0)
尝试:
$ex = explode(":",$res);
$result = explode("\n",$ex[1]);
$result = $result[0];
echo trim($result); //echoes SUCCESS
或者:
$ex = explode("\n", $res);
$result = explode(":", $ex[0]);
$result = $result[1];
echo trim($result); //echoes SUCCESS
<强> Demo 1 强>
<强> Demo 2 强>
答案 2 :(得分:0)
尝试这样做
$arr = explode(':', $res);
$result = explode(' ', $arr[1]);
print_r($result[0]);
答案 3 :(得分:0)
您的答案的第一个评论是解决方案。但是 - 出于任何原因 - 如果你想获得所有的键和值,你可以为每一行使用preg_match。一个简单的例子:
<?php
$res = "RESULT: SUCCESS
NUMBER_TYPE: 0";
$arr = explode("\n", $res);
foreach($arr as $line)
{
if(preg_match('/^([A-Z_]+):\s+?([a-zA-Z0-9_]+)$/', $line, $matches))
{
echo "Key: " . $matches[1] . " - Value: " . $matches[2] . "\n";
}
}
输出:
Key: RESULT - Value: SUCCESS
Key: NUMBER_TYPE - Value: 0