2015-01-13 63 views
0

我有我想簡化的以下PHP函數,什麼是最好和最有效的方法?我可以簡化這個PHP表達式嗎?

function XMLToObject($dirtyXML) { 
     $clean_xml = str_ireplace([ 
      'SOAP-ENV:', 
      'SOAP:' 
       ], '', $dirtyXML); 

     $clean_xml2 = str_ireplace([ 
      'common:', 
      '' 
       ], '', $clean_xml); 

     $clean_xml3 = str_ireplace([ 
      'pdt:', 
      '' 
       ], '', $clean_xml2); 
     $clean_xml4 = str_ireplace([ 
      'apd:', 
      '' 
       ], '', $clean_xml3); 

     $clean_xml5 = str_ireplace([ 
      'bs7666:', 
      '' 
       ], '', $clean_xml4); 

     $xml = simplexml_load_string($clean_xml5); 

     return $xml; 
    } 

我想使用其他功能一樣的...

function replace($oldVal,$newVal) 

然後在這4次與我的不同值對迭代?

+0

合併全部替換值在一個陣列 –

+0

所以這樣? - str_ireplace([ 'PDT:', '' 'SOAP-ENV:', 'SOAP:' ] –

+0

究竟 - 'str_ireplace(陣列(.....), '',$變種)' –

回答

2

你可以參加所有出現更換成一個陣列:

function XMLToObject($in) { 
    $find = array('SOAP-ENV:', 'SOAP', 'common:', 'pdt:', 'apd:', 'bs7666:'); 
    $replace = ''; 
    return simplexml_load_string(str_ireplace($find, $replace, $in)); 
} 

而且,與空字符串替換空字符串價值不大...