PHP,包含-用外部文件中的值替换值

时间:2018-10-16 15:29:01

标签: php xml curl include

这是我使用的外部文件的摘录。

landcode.php

$strParams = [
               'XA-FXFR' => '-',
'XB-NTHH' => '-',
'XE-CTKI' => '-',
'XM-JTUM' => '-',
'XM-PUUM' => '-',
'XA-CH-AG' => 'Aargau',
'XC-EG' => 'Ägypten',
'XC-GQ' => 'Äquatorialguinea',
'XC-ET' => 'Äthiopien',
'XB-AF' => 'Afghanistan',
'XC' => 'Afrika',]; 

使用以下代码,我想将“ XA-DE”之类的编码替换为“德国”。 “ XA-DE”编码来自$ sfield变量。

<?php
        include("landcode.php");
        //PHP Infos anzeigen lassen
            //phpinfo();
        error_reporting(-1);
        ini_set('display_errors', true);
        ini_set('html_errors', false);
        // Wenn Fehler vorhanden dann anzeigen
            header('Content-type: text/html; charset=utf-8');
            // Inhaltstyp und Zeichenkodierung für Skript festlegen
            $id = preg_replace("/[^0-9-]/", "", $_POST["id"]);  
            // Formulareingabeübernahme         
                $url = "https://services.dnb.de/sru/authorities?version=1.1&operation=searchRetrieve&query=NUM%3D118640445%20and%20COD%3Ds&recordSchema=MARC21-xml";
                // URL festlegen
                $User_Agent = 'Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0';

                $request_headers[] = 'Accept:text/xml';
              $request_headers[] = 'Contect-Type:application/xml; charset=utf-8';
              $request_headers[] = 'Accept-Encoding:    gzip, deflate, identity';
              $request_headers[] = 'Accept-Language: de,en-US;q=0.7,en;q=0.3';
              $request_headers[] = 'X-picturemaxx-api-key: key';

                // Optionale Anfrageoptimierungen
              $ch = curl_init($url);
              //  Initiate curl
        curl_setopt($ch, CURLOPT_USERAGENT, $User_Agent);
                curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
        curl_setopt($ch, CURLOPT_ENCODING, "");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // Anfrageoptimierung
                // Execute
                $result = curl_exec($ch); // Performs the Request, with specified curl_setopt() options (if any).
                // Closing
        curl_close($ch);

                $xmlObj = new SimpleXMLElement($result); // Stellt ein Element in einem XML-Dokument dar

                $xmlObj->registerXPathNamespace( 'N', 'http://www.loc.gov/MARC21/slim'); // XML-Namensraum definieren mit dem die angefragte XML-Datei deklariert ist

                $sfield = $xmlObj->xpath( '//N:datafield[@tag="043"]/N:subfield[@code="c"]' );  

                    foreach ($sfield as $land) {
        echo $land[0]. " ; ";
    }   echo "<br>";


print_r($strParams);

?>

如何在以下位置包含外部文件“ landcode.php”,以便接管该文件中的值,例如将“ XA-DE”替换为德国?

$sfield = $xmlObj->xpath( '//N:datafield[@tag="043"]/N:subfield[@code="c"]' );  

                        foreach ($sfield as $land) {
            echo $land[0]. " ; ";
        }   echo "<br>";

感谢和问候

0 个答案:

没有答案