# HG changeset patch # User Yoshiki Yazawa # Date 1269117955 -32400 # Node ID 0ded1d3bd4489e067c75b5c558aa9584d43e04e2 # Parent 3303335825a3a825591a6fcb5832c6d91c822cb7 enable mb_str_replace() diff -r 3303335825a3 -r 0ded1d3bd448 Reservation.class.php --- a/Reservation.class.php Sun Mar 21 05:16:43 2010 +0900 +++ b/Reservation.class.php Sun Mar 21 05:45:55 2010 +0900 @@ -199,35 +199,33 @@ $day_of_week = array( "日","月","火","水","木","金","土" ); $filename = $settings->filename_format; - // あると面倒くさそうな文字を全部_に - $fn_title = mb_ereg_replace("[ \./\*:<>\?\\|()\'\"&]","_", trim($title) ); - + // %TITLE% $filename = mb_str_replace("%TITLE%", trim($title), $filename); // %ST% 開始日時 - $filename = str_replace("%ST%",date("YmdHis", $start_time), $filename ); + $filename = mb_str_replace("%ST%",date("YmdHis", $start_time), $filename ); // %ET% 終了日時 - $filename = str_replace("%ET%",date("YmdHis", $end_time), $filename ); + $filename = mb_str_replace("%ET%",date("YmdHis", $end_time), $filename ); // %TYPE% GR/BS - $filename = str_replace("%TYPE%",$crec->type, $filename ); + $filename = mb_str_replace("%TYPE%",$crec->type, $filename ); // %CH% チャンネル番号 - $filename = str_replace("%CH%","".$crec->channel, $filename ); + $filename = mb_str_replace("%CH%","".$crec->channel, $filename ); // %DOW% 曜日(Sun-Mon) - $filename = str_replace("%DOW%",date("D", $start_time), $filename ); + $filename = mb_str_replace("%DOW%",date("D", $start_time), $filename ); // %DOWJ% 曜日(日-土) - $filename = str_replace("%DOWJ%",$day_of_week[(int)date("w", $start_time)], $filename ); + $filename = mb_str_replace("%DOWJ%",$day_of_week[(int)date("w", $start_time)], $filename ); // %YEAR% 開始年 - $filename = str_replace("%YEAR%",date("Y", $start_time), $filename ); + $filename = mb_str_replace("%YEAR%",date("Y", $start_time), $filename ); // %MONTH% 開始月 - $filename = str_replace("%MONTH%",date("m", $start_time), $filename ); + $filename = mb_str_replace("%MONTH%",date("m", $start_time), $filename ); // %DAY% 開始日 - $filename = str_replace("%DAY%",date("d", $start_time), $filename ); + $filename = mb_str_replace("%DAY%",date("d", $start_time), $filename ); // %HOUR% 開始時 - $filename = str_replace("%HOUR%",date("H", $start_time), $filename ); + $filename = mb_str_replace("%HOUR%",date("H", $start_time), $filename ); // %MIN% 開始分 - $filename = str_replace("%MIN%",date("i", $start_time), $filename ); + $filename = mb_str_replace("%MIN%",date("i", $start_time), $filename ); // %SEC% 開始秒 - $filename = str_replace("%SEC%",date("s", $start_time), $filename ); + $filename = mb_str_replace("%SEC%",date("s", $start_time), $filename ); // %DURATION% 録画時間(秒) $filename = mb_str_replace("%DURATION%","".$duration, $filename ); diff -r 3303335825a3 -r 0ded1d3bd448 reclib.php --- a/reclib.php Sun Mar 21 05:16:43 2010 +0900 +++ b/reclib.php Sun Mar 21 05:45:55 2010 +0900 @@ -21,4 +21,23 @@ "// -->\n" ); } +// マルチバイトstr_replace + +function mb_str_replace($search, $replace, $target, $encoding = "UTF-8" ) { + $notArray = !is_array($target) ? TRUE : FALSE; + $target = $notArray ? array($target) : $target; + $search_len = mb_strlen($search, $encoding); + $replace_len = mb_strlen($replace, $encoding); + + foreach ($target as $i => $tar) { + $offset = mb_strpos($tar, $search); + while ($offset !== FALSE){ + $tar = mb_substr($tar, 0, $offset).$replace.mb_substr($tar, $offset + $search_len); + $offset = mb_strpos($tar, $search, $offset + $replace_len); + } + $target[$i] = $tar; + } + return $notArray ? $target[0] : $target; +} + ?> \ No newline at end of file