gdwtseq回答ポイント 100ptウォッチ

<?xml version="1.0" encoding="SHIFT_JIS"?>の、

要素に日本語文字(他のマルチバイト文字も含む)が使われている
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では、出来なくない
ですか?マルチバイト文字を一文字ずつ取り出す方法ってある
でしょうか?

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2013-03-12 21:42:33
終了日時
2013-03-19 21:45:03
回答条件
回答にURL必須 1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

Java1731ソースコード559XML844SJIS223PHP7798オブジェクト658switch131パース109SE340

人気の質問

メニュー

PC版