[PHP-users 3423] Re: 全角から半角への変換について
Atsushi Nakada
php-users@php.gr.jp
Thu, 8 Nov 2001 17:03:13 +0900
なかだ です。
> ■ 文字列 = mbereg_replace(正規表現, 置換文字列, 文字列)
> ■ 文字列 = mberegi_replace(正規表現, 置換文字列, 文字列)
> ereg_replace()、eregi_replace()のマルチバイト文字対応版
>
> これ使えませんか?
PHPのバージョンが[3.0.18-i18n-ja]なので「mbereg_replace」が使用できないで
す。
> 私には普通(?)のカナは全角表示で促音や拗音のみが半角表示というのは
> かまり間抜けなものにしか見えませんが…
そうですか?
濁点などが半分で切られる(?)よりかはましだと考えたのですが・・・
> で、具体的に、どういう文字の組み合わせで問題が生じたのか、
> 検証できるようなコードをなんか提示していただけると、
> お互いに時間が節約できるかも知れません。:-)
そうですね(^^;
では、改めて、
●環境
PHP 3.0.18-i18n-ja
PostgreSQL 7.0.2(EUC-JP)
919シミュレータ(J-skyweb動作確認用)
●目的
直音以外の文字を半角で表示する
●現在のソース
$string = ereg_replace("・","・",$string);
$string = ereg_replace(":",":",$string);
$string = ereg_replace("/","/",$string);
$string = ereg_replace("(","(",$string);
$string = ereg_replace(")",")",$string);
$string = ereg_replace(" "," ",$string);
$string = ereg_replace("ー","-",$string);
$string = ereg_replace("ァ","ァ",$string);
$string = ereg_replace("ィ","ィ",$string);
$string = ereg_replace("ゥ","ゥ",$string);
$string = ereg_replace("ェ","ェ",$string);
$string = ereg_replace("ォ","ォ",$string);
$string = ereg_replace("ッ","ッ",$string);
$string = ereg_replace("ャ","ャ",$string);
$string = ereg_replace("ュ","ュ",$string);
$string = ereg_replace("ョ","ョ",$string);
●問題点
一部の文字列で文字化けが発生する
<例>
ファーストフード・ファミレス → フ・璽好肇姚ド糸tァミレス
軽食・デザート → 軽食糸fザ-ト
# 皆様にご迷惑をおかけしました。
# さらにご迷惑をお掛けしますが、よろしくお願いします。
--
Atsushi Nakada <system@all-tama.com>