要素に日本語文字(他のマルチバイト文字も含む)が使われている
xmlファイルをパースして、
その文字を一文字ずつ取り出し、SJISのコード値の指定のものだったら
cp932のコード値に変換して、保存する、Javaソースコードがあります。
前任者がで書いたこのコードを、PHPに書き直してくれと言われました。
(言っている人は、JavaもPHPも詳しくないSEです。)
前任者の方は その文字列(Stringオブジェクト)から、charAt( )で
一文字ずつ取り出し、switch文で指定のSJISコード値かどうかを
判定しています。
例.
case '\u2014': // '―' だったら、
→ \u2015 に置き換え。
case '\u301C': // '~' だったら、
→ \uFF5E に置き換え。
case '\u00A2': // '¢' だったら、
→ \uFFE0 に置き換え。
case '\u00A3': // '£' だったら、
→ \uFFE1 に置き換え。
といった具合にです。
そこで質問ですが、このような判定をPHPでは、出来なくない
ですか?マルチバイト文字を一文字ずつ取り出す方法ってある
でしょうか?
http://php.net/manual/ja/function.str-replace.php
PHPにはstr_replaceという置換の関数があります。