讓我解釋我想要做什麼。字符串內搜索元素
我需要使用SSH連接到設備並執行一些shell命令。我得到這些命令的結果(流,使用ssh2_fetch_stream
)並保存到一個變量中。這工作正常。
但是我需要知道的是如何通過字符串中的元素進行搜索? 這裏的樣本串:
$stringToSearch = "id=10 name=interfacename1 stringx=102040 stringy=50606040,id=20 name=interfacename2 stringx=872345 stringy=23875454,id=30 name=interfacename3 stringx=654389 stringy=34567865";
我需要獲得所有的名字='的結果,如(SELECT name FROM stringToSearch;
),這將返回:
____name____ interfacename1 interfacename2 interfacename3
我創建了一個簡單的函數來讀這個字符串。
<?php
function readString($stringToSearch, $start, $end) {
$result = '-1';
// I need to do a loop here, but how can I do it to read and return all elements between $start and $end?
if(strlen(strstr($stringToSearch, $start)) > 0)
{
$startsAt = strpos($stringToSearch, $start) + strlen($start);
$endsAt = strpos($stringToSearch, $end, $startsAt);
$result = substr($stringToSearch, $startsAt, $endsAt - $startsAt);
}
return $result;
}
$stringToSearch = 'id=10 name=interfacename1 stringx=102040 stringy=50606040,id=20 name=interfacename2 stringx=872345 stringy=23875454,id=30 name=interfacename3 stringx=654389 stringy=34567865';
$element = readString($stringToSearch, 'name=', ' '); // Will return only the 1st element
?>
但我只能檢索第一個元素。我怎樣才能得到這個字符串中的所有元素?
也許是更好的空間/逗號爆炸字符串,然後通過'='爆炸爆炸蜇傷,並找到鑰匙,你需要什麼? –