[PHP-users 34867] Re: JISで文字列の置換を行いたい。

Masatoshi ISHIKAWA masato-i @ yj8.so-net.ne.jp
2009年 12月 9日 (水) 15:19:52 JST


いしかわ です.

テストしていないのですが・・・

マルチバイト文字列 関数に mb_eregi_replace  という 関数
( http://www.php.net/manual/ja/function.mb-eregi-replace.php)

があるので,これを使えば良いように思えるのですが,
だめだったのでしょうか?

見当違いなコメントでしたら すみません. では
--
いしかわ まさとし
masato-i @ yj8.so-net.ne.jp


2009年12月9日14:24 choice <info @ choice-site.com>:
> 中出と申します。
>
> 理由があってJISで文字列の置換を行いたいと
> 思っているのですが、うまくいきません。
>
> ●スクリプト
> <?php // -*- coding: utf-8 -*-
> $str='%%name%%さん、こんにちは。';
> $pat='%%name%%';
> $rep='萩山';
>
> $str_jis=mb_convert_encoding($str,'iso-2022-jp','UTF-8');
> $rep_jis=mb_convert_encoding($rep,'iso-2022-jp','UTF-8');
> $str_jis=str_replace($pat,$rep_jis,$str_jis);
>
> $fp = fopen('data.txt', 'w');
> fwrite($fp, $str_jis);
> fclose($fp);
> ?>
>
> スクリプトはUTF8で実装しています。
> 処理としては、JISの文字列から%%name%%を探し、置換を行い
> ファイルに保存するとなっています。
>
> ファイルには
>> 萩山さん、こんにちは。
>>
> と保存されることを期待するのですが、実際には
>
>> 萩山[$B$5$s!"$3$s$K$A$O!#
>>
> のようになりうまくいきません。
>
>
> なお、UTF8で置換を行い、その後、JISに変換して保存するという方法は
> 分かっているのですが、「JISで文字列の置換」が解消した問題なので
> この方法はパスしています。
>
> よい解消方法があれば教えてください。
> よろしくお願いします。
>
> ----
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>


PHP-users メーリングリストの案内