我有一個字符串變量如下命名$message
:使用PHP字符串+返回未知等號的結果?
* Time Stamp: 2012-12-03 16:36:04
* Speed: 7 km/h
* Heading: 356 deg (N)
* Event ID: -48
* Event Desc: .Arrived at Inbound Receiving
* Event Value: -56
* Event Value Type: 0
然後我嘗試用下面的代碼來提取變量中的事件和時間戳值:
$event = null;
$lines = explode(PHP_EOL, $message);
foreach($lines as $line) {
// skip empty lines
if(strlen($line) == 0) {
continue;
}
$tokens = explode(':', $line);
// tokens[0] contains the key , e.g. Event Value
// tokens[1]~[N] contains the value (where N is the number of pieces), e.g. -56
// stitch token 1 ~ N
$key = $tokens[0];
unset($tokens[0]);
$val = implode(': ', $tokens);
// do your extra logic here, e.g. set $event variable to value
if(strpos($key, 'Event Desc') > -1) {
$event = $val;
}
if(strpos($key, 'Time Stamp') > -1) {
$time = $val;
}
}
這個偉大的工程,唯一的問題是返回的值是:
.Arrived at Arrived at Inbound Receiving =
2012-12-03 16:36:04 =
等號來自哪裏,我怎樣才能將它與t欄杆空間?
我預期的結果將是:
.Arrived at Arrived at Inbound Receiving
和
2012-12-03 16:36:04
這是怎麼出現在字符串變量。 一如既往地感謝。
您可以添加您預期的結果也 – Baba
正則表達式。這就是他們所做的。 – Jon
這個'$ message'偶然來自電子郵件嗎? – sberry