携帯表示用に文字を全角から半角にする

テンプレート内で使用する場合

全角カナと全角英数字を、半角カナと半角英数字に置き換えるモディファー

modifier.hkana.php

<?php
function smarty_modifier_hchar($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "ka", $char_set);
}
?>

Smartyのプラグインディレクトリに、『 modifier.hchar.php 』というファイル名で保存し、下記のようにして使います。

{$hoge|hchar}

カタカナと英数字のどちらか片方にしたい場合は次のようにします。

全角カタカナを半角カタカナに置き換えるモディファー

modifier.hkana.php

<?php
function smarty_modifier_hkana($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "k", $char_set);
}
?>

Smartyのプラグインディレクトリに、『 modifier.hkana.php 』というファイル名で保存し、下記のようにして使います。

{$hoge|hkana}

全角英数字を半角英数字に置き換えるモディファー

modifier.halphanum.php

<?php
function smarty_modifier_halphanum($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "a", $char_set);
}
?>

Smartyのプラグインディレクトリに、『 modifier.halphanum.php 』というファイル名で保存し、下記のようにして使います。

{$hoge|halphanum}

フィルターとして全テンプレートに適用する場合

全角カナと全角英数字を、半角カナと半角英数字に置き換えるフィルター

Smartyを呼び出した後に次のように書きます。

<?php
function hchar($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "ka", $char_set);
}
?>

Smartyのフィルターに設定します。

$smarty->register_outputfilter("hchar");

カタカナと英数字のどちらか片方にしたい場合は次のようにします。

全角カタカナを半角カタカナに置き換えるフィルター

Smartyを呼び出した後に次のように書きます。

<?php
function hkana($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "k", $char_set);
}
?>

Smartyのフィルターに設定します。

$smarty->register_outputfilter("hkana");

全角英数字を半角英数字に置き換えるフィルター

Smartyを呼び出した後に次のように書きます。

<?php
function halphanum($string, $char_set = 'UTF-8')
{
  return mb_convert_kana($string, "a", $char_set);
}
?>

Smartyのフィルターに設定します。

$smarty->register_outputfilter("halphanum");

スポンサーリンク

関連記事

スポンサーリンク

<TD> テーブル(表)のデータセルを作成する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る