[PHP-users 35328] Re: ある一定範囲で最初に出現した文字列にのみ*マーク付加
mi_ ko
mi_ko00 @ hotmail.com
2010年 8月 9日 (月) 09:59:56 JST
mi_ko00と申します。
----------------------------------------
> Date: Thu, 5 Aug 2010 18:45:12 +0900
> Subject: [PHP-users 35323] Re: ある一定範囲で最初に出現した文字列にのみ*マーク付加
>
> 増澤です。お世話になります。
>
> OS:Windows XP SP3
> PHP 5.3.3
> スクリプトの漢字コード:S-JIS
>
> php.iniにつきましては、Web情報を参考にしながら、
> 下記のように設定しました。
> [mbstring]
> ; language for internal character representation.
> ; http://php.net/mbstring.language
> mbstring.language = Japanese
(以下、省略)
今回のような文字化けの問題については、
#33103:mb_ereg_replace について
http://ml.php.gr.jp/pipermail/php-users/2007-May/032650.html
など、過去にもいろいろと出ている問題なので、アドバイス待ち
だけでなく、調べてみるとよいかもしれませんね。
(たくさんあるというのは、逆に、ミスリードされる可能性も
あるので、丁寧に確認する必要がありますけどね。
例えば、今回の問題の解決の場合は、MIME系の問題は別問題
として、読み飛ばすとか・・・)
#33103 に戻れば、php.iniの設定では、
magic_quotes_gpc = off
の設定を確認しましょう。
ということになります。
文字化けの問題から離れた部分で、気になった部分をコメント
しておくと、
> $keyword = '雇用保険法';
> $keyword = '差別表現';
> $keyword = '識字';
> $pattern = sprintf('/^(.*?)(%s)/s', $keyword);
> $replacement = '$1*$2';
> echo preg_replace($pattern, $replacement, $text);
の部分で、複数(最初の質問で言えば1437項目)のkeywordを
置き換えるという部分で必要な処理として、
| foreach
http://jp.php.net/manual/ja/control-structures.foreach.php
なども参考にされるとよろしいかと。
以 上
PHP-users メーリングリストの案内