2013-11-25 92 views
0

複雜的字符串鑑於此字符串的位置

項目ID |工程|帳戶名稱|嚴重性|狀態> | < 406115 |中國 設備 - 固定佈線|中國設備私人有限公司 - Kewdale (HO)|安裝|等待迴應(客戶)

我想嚴重性的位置,我很期待3或4作爲輸出用Pipe |作爲分隔符。用3或4,我可以在> |之後找到字符串的下一部分的值。 <所以我會得到>後的第四個值| <這是安裝

我會感謝任何幫助。謝謝!

+1

聽起來就像你需要發現[序列化](http://us1.php.net/serialize)。另外,你到目前爲止嘗試過什麼? –

+0

嘗試使用'explode($ str,'|')'然後'array_search()'。 –

+0

這可以視爲一個'* .csv'文件。如果用'\ n'替換'> | <',然後用''替換'|'。你可以用'str_getcsv'來閱讀。 –

回答

0

你可以得到2個陣列

$str = "Project ID|Project|Account Name|Severity|Status>|<406115|United Equipment - Cabling fix|United Equipment Pty Ltd - Kewdale (HO)|Installation|Wait For Response (customer)"; 
$arrays = explode('>|<',$str); 
$first = explode('|', $arrays[0]); 
$severity_position = array_search('Severity', $first); 
$second = explode('|', $arrays[1]); 

現在$second[3]是安裝價值$severity_position是您的嚴重指數。

$ first is exploded array before | <和$秒之後是爆炸陣列。

+0

我修改了你的代碼。我通過使用$ second [$ severity_position]得到了第二部分的值。 – kimbarcelona

0

可以explode與管道的字符串,然後用array_search獲得位置

$str = "Project ID|Project|Account Name|Severity|Status>|<406115|United Equipment - Cabling fix|United Equipment Pty Ltd - Kewdale (HO)|Installation|Wait For Response (customer)" 

$Severity_position = array_search('Severity', explode('|', $str)); 


$arr = explode('>|<', $str); 
$installation_position = array_search('Installation', explode('|', $arr[1])); 
+0

這真棒,我如何獲得安裝呢? – kimbarcelona

+0

試試這個 $ arr = explode('> | <',$ str);檢查更新的答案 –

+0

$ arr [1]可能在第4個索引上有不同的值。我認爲在搜索中使用「安裝」並不是一個完美的想法。 – kimbarcelona