日本語を16進 数値文字列参照へ変換する

googleCalendarは、ical(icalendar format)に対応しています。

このフォーマットをうまく使うと、OUTLOOK等へも、イベントの日時や内容を、一気に受け渡す事ができるようになります。

その代表的な例に、イベントキャストなどがあります。

誰でも自由に、サービスを構築できるようになるのでとても魅力的ですが、

「うまくやる」ことは簡単ではありません。

16進の数値文字列参照に変換することで、文字化けを避けることができます。

$str= mb_convert_encoding($str, 'HTML-ENTITIES', 'UTF-8');
preg_match_all(" |(&#)([0-9]+)(;) |u",$str,$regs,PREG_SET_ORDER);

foreach($regs as $dohex){

$str= str_replace($dohex[0] , "&#x".dechex($dohex[2]).';', $str);
}

$str= trim(str_replace("\n","\r\n",$str));

file_put_contents("index2.ics",$str);
echo nl2br($str);

[emulsion_relate_posts]