SmartyでSJIS出力の時に調べてて、出来るんじゃ?的な感じでやってみたメモ。
SmartyでSJIS出力の時に使用した、[register_prefilter]と[register_postfilter]の他にも、[register_outputfilter]というものがありました。
この3つのフィルター。
それぞれ、適用されるタイミングが違うようで、組み合わせ次第ではちょっとした効率化も図れる模様。
モバイルページの一括半角化
モバイルページでは、半角カナを使用することが多いですが、Smartyのテンプレートでは全角で作成しておいて、テンプレートの画面出力時にそれを一発でやっちゃおう!というやり方。
<?php
/* Smarty Include */
require_once('Smarty/Smarty.class.php');
/* create object */
$output_page = new MySmarty();
/* Smartyでテンプレートを画面出力前に「全角->半角化」させる */
$output_page->register_prefilter("convert_encoding_to_eucjp");
/* Smarty使用テンプレートをEUCへ統一 */
$output_page->register_postfilter("convert_encoding_to_sjis");
//表示
$output_page->display("xxxx.tmpl");
/**
* Smartyテンプレートの全角->半角
**/
function convert_z2h($template_source, &$smart)
{
if (function_exists("mb_convert_kana")) {
return mb_convert_kana($template_source, "ak");
}
return $template_source;
}
?>
応用すれば、他にも色々出来そうってことで、メモx2。
12月 26 2006
Smartyでテンプレート内の文字を半角化する(モバイルページ)
SmartyでSJIS出力の時に調べてて、出来るんじゃ?的な感じでやってみたメモ。
SmartyでSJIS出力の時に使用した、[register_prefilter]と[register_postfilter]の他にも、[register_outputfilter]というものがありました。
この3つのフィルター。
それぞれ、適用されるタイミングが違うようで、組み合わせ次第ではちょっとした効率化も図れる模様。
モバイルページの一括半角化
モバイルページでは、半角カナを使用することが多いですが、Smartyのテンプレートでは全角で作成しておいて、テンプレートの画面出力時にそれを一発でやっちゃおう!というやり方。
応用すれば、他にも色々出来そうってことで、メモx2。
By KYO • PHP, Smaty • Tags: php, smarty