YouTubeのRSSを読み込む際に、文字列がunicode化(エンティティーコード化)されていたので、

それを文字化するphpのサブルーチンを作成したので公開します。

unicode化というのは、

というようなコードのことです。

では早速コードの公開です。

function decUnicode($data, $enc){
$data = preg_replace(‘/&#(\d+);/’, “<>$1<>”, $data);
$arySplitVal = split(‘<>’, $data);

$le = count($arySplitVal);

$xout = “”;
for ($i=0;$i<$le;$i++) {
if(preg_match(“/^[0-9]+$/”, $arySplitVal[$i])){
$xout .= mb_convert_encoding(pack(“H*”, dechex($arySplitVal[$i])), $enc, “UCS-2”);
}else{
$xout .=$arySplitVal[$i];
}

}

return $xout;
}

ネット上に、従来から公開されているコードを改良したものです。(ソースが行方不明になっております。ご指摘があれば、ご連絡下さい)

従来のものですと、既にローマ字のものはunicode化されていないので、思った変換になりません。

上記のコードならば、その問題をクリアしております。

 

スポンサー

お問い合わせ

この記事についてご質問があれば、お問い合わせ下さい。

お名前(必須)
お名前フリガナ(必須)
メールアドレス(必須)
メールアドレス確認(必須)
お問い合わせ記事URL
お問い合わせ内容(必須)