中国語の文字は、PHP アプリケーションで問題を引き起こすことがよくあります。今日、インターネットで配列を見つけて XML に変換したところ、中国語の文字が空であることがわかりました。後で Guan Tian を実行すると、より良い結果が得られました。以下で共有してください。
PHPの配列をXMLに変換する際に、PHPでの書き方を学びました
コードは次のとおりです |
コードをコピー |
関数 array2xml($array, $xml = false){
If($xml === false){
$xml = new SimpleXMLElement('');
}
foreach($array as $key => $value){
if(is_array($value)){
array2xml($value, $xml->addChild($key));
}その他{
$xml->addChild($key, $value);
}
}
$xml->asXML() を返します
}
header('コンテンツタイプ: text/xml');
print array2xml($array);
コンテンツ内に漢字が含まれる場合は空になります |
解決策はトランスコードすることです
コードは次のとおりです
コードをコピー
|
|
関数 array2xml($array, $xml = false){
If($xml === false){
$xml = new SimpleXMLElement('');
}
foreach($array as $key => $value){
if(is_array($value)){
array2xml($value, $xml->addChild($key));
}その他{
//$value=utf8_encode($value);
If (preg_match("/([x81-xfe][x40-xfe])/", $value, $match)) {
$value = iconv('gbk', 'utf-8', $value);
//中国語の文字が表示されるかどうかを判断します
$xml->addChild($key, $value);
}
}
$xml->asXML() を返します
}
漢字の正則化の他の例を後でいくつか紹介します
1. 文字列がすべて漢字かどうかを判断します
| コードは次のとおりです
コードをコピー
$str = 'すべて漢字テストです';
If (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) { |
echo 'すべて漢字です' ;
} その他 { |
echo 'すべての漢字が含まれるわけではありません';
}
?>
$str = 'すべてが中国語の文字であるテスト'; の場合、 "すべてが中国語の文字です";
$str = 'すべてが中国語の文字であるテスト' の場合、「すべてが中国語の文字ではない」と出力されます;
http://www.bkjia.com/PHPjc/633188.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633188.html技術記事中国語の文字は、PHP アプリケーションで問題を引き起こすことがよくあります。今日、インターネットで配列を見つけて XML に変換したところ、中国語の文字が空であることがわかりました。後で Guan Tian に問い合わせたところ、より良い結果が得られました...
。
|