- 【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net
828 :デフォルトの名無しさん[]:2015/10/13(火) 12:49:09.93 ID:7qM/SX9p - 【OS名】Win7
【PHPのバージョン】5.6 【質問内容】 文字列の一部分だけを置換したく以下のようなコードを書きました。 // 最初の"ほげ"を"hoge"に置換 $hoge = "ほげほげ"; $begin = mb_strpos($hoge, "ほげ"); $end = mb_strpos($hoge, "ほげ", $begin + 1); $hoge2 = substr_replace($hoge, "hoge", $begin, $end - $begin); print_r($hoge2); 当然といえば当然なのですが出力が文字化けしてしまいます。 substr_replaceのマルチバイト版を使おうと思ったらmb_substr_replaceは定義されておらず、 mb_ereg_replaceを使ってみたらすべての一致部分が置換されてしまいました。 マルチバイト文字を含む文字列の一部分置換を実現したい場合はどのようにすれば良いでしょうか?
|