XML_Parser_Get_option () ကို XML parser အတွက်ချိန်ညှိချက်များကိုရရှိရန်အသုံးပြုသည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
mixed xml_parser_get_option(resource $parser, int $option)
XML_Parser_create () သို့မဟုတ်ဆက်စပ်လုပ်ဆောင်ချက်များကိုဖန်တီးထားသော parser ၏ parser အရင်းအမြစ်တစ်ခုဖြစ်ပြီး $ MAPL_OPTOOT_TARGT_ENCOCTING , XML_OPTOON_COUCTING , XML_OPTOOTE_FORDING ကဲ့သို့သော $ option သည်သင်ရရှိနိုင်သော parser ၏ parser ဖြစ်သည်။
ချိန်ညှိရေးပစ္စည်းတည်ရှိပါက function သည်၎င်း၏လက်ရှိတန်ဖိုးကိုပြန်ပို့သည်။ ဒီလိုမှမဟုတ်ရင် မှားယွင်းတဲ့ ပြန်လာတယ်။
ဆက်စပ်သောအဘို့, အသုံးအများဆုံးရွေးချယ်စရာများမှာ -
XML_OPTION_TARGET_ENCODING
ဤရွေးချယ်မှုသည် PHP တွင်ရရှိနိုင်သည့် strings များအဖြစ်ကိုယ်စားပြုသည့်အတွင်းပိုင်းစာလုံးများကိုမည်သို့ပြောင်းလဲပေးသည်ကိုဆုံးဖြတ်သည်။ ပုံမှန်တန်ဖိုးမှာ "UTF-8" သို့မဟုတ် "ISO-8859-1" သို့မဟုတ် "US-ASCII" ဖြစ်သည်။
XML_Parser_Get_option () သည် parser output encoding ကို မူလ XML ဖိုင်၏ encoding မဟုတ်ဘဲ parser output ence ၏ encoding ကိုပြန်ပို့သည်။ မူရင်း XML ဖိုင်၏ encoding ကို XML ကြေငြာချက်ဖြင့်သတ်မှတ်သည်။
<?xml version="1.0" encoding="ISO-8859-1"?>
xml-8859-1, XML_Parser_Get_option () XML_Parser_Get_option () XML_Parser_Get_option () သည် "UTF-8" ကိုပြန်ပို့လိမ့်မည်။
သင် default target encoding ကိုပြုပြင်ရန်စီစဉ်ထားပါက xml_parser_set_option () ကို သုံးနိုင်သည်။
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "ISO-8859-1");
ထို့နောက် setting ကိုအောင်မြင်ရန် XML_Parser_Get_option () ကို သုံးပါ။
$encoding = xml_parser_get_option($parser, XML_OPTION_TARGET_ENCODING);
echo "လက်ရှိ encoding:$encoding";
ကျိုးနွံစွာ encoding ကိုမထောက်ပံ့ကြောင်းသတိပြုပါ။
အကယ်. XML ဖိုင်ကိုဖတ်ပါ။ အကယ်. Target Encoding နှင့် ASCII မဟုတ်သောဇာတ်ကောင်များပါ 0 င်သည့်ဇာတ်ကောင်သတ်မှတ်ချက်ကိုအသုံးပြုပါက PHP parser သည်အမှားတစ်ခုသို့ပစ်ချနိုင်သည်။ ထို့ကြောင့် အရင်းအမြစ်ဖိုင်၏အမှန်တကယ် encoding သည် ကြေငြာချက်နှင့်ကိုက်ညီပြီးပစ်မှတ် encoding နှင့်သဟဇာတဖြစ်သည်ကိုသေချာစေရန်အလွန်အရေးကြီးသည်။
ဖိုင်၏မူရင်း encoding ကို MB_Detect_encoding () မှတဆင့်ရှာဖွေတွေ့ရှိနိုင်သည်။ လိုအပ်ပါက MB_ConVert_encoding () ကို သုံးပါ။
$xml = file_get_contents("https://gitbox.net/data/sample.xml");
$xml = mb_convert_encoding($xml, "UTF-8", "auto");
$parser = xml_parser_create("UTF-8");
xml_parse($parser, $xml, true);
parser ဥပမာတစ်ခုချင်းစီကိုလွတ်လပ်သောဖြစ်ပါတယ်။ ချိန်ညှိချက်များရယူသည့်အခါသင်သည် မှန်ကန်သော parser အရင်းအမြစ် တွင်သင်အောင်မြင်ရန်သေချာအောင်လုပ်ပါ။ XML ဖိုင်များနှင့်အတူတစ်ပြိုင်နက်တည်း xml ဖိုင်များနှင့်တစ်ပြိုင်နက်တည်းအလုပ်လုပ်သောအခါ၎င်းသည် parser ယုတ္တိဗေဒကိုအတန်းထဲတွင်အလုပ်မလုပ်သောအခါအထူးသဖြင့်အရေးကြီးသည်။
XML_Parser_Get_option () libxml-based dom သို့မဟုတ် simplexml မဟုတ်ဘဲ Expat parser interface ကိုပိုင်ဆိုင်သည်, ထို့ကြောင့်ဤ extensions များအတွက်အသုံးမပြုနိုင်ပါ။ XML_Parser_Create () ဖြင့်ဖန်တီးသော SAX style parsers နှင့်သာအလုပ်လုပ်သည်။