我可以简化这个PHP表达式吗?

时间:2015-01-13 11:12:24

标签: php replace

我有以下要简化的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次?

1 个答案:

答案 0 :(得分:2)

您可以将所有匹配项合并为一个数组:

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

此外,用空字符串替换空字符串没什么价值......