A=123B=456
このような文字列を
「A=123」B=456
のような形に変換したいです。(上記は例です)
$str = preg_replace('/(A=\d{1,3})/', '「$1」', $str);
これで「A=123」B=456
には出来ましたが、これを全角にするにはどうすればよいのでしょうか?
mb_convert_kanaを使えば全角にはなりますが、文字列内の全ての数字が全角になってしまいます。
文字列の条件は以下の通りとなります。
・「A=」が行頭に来るとは限らない。
・「A=」の後ろの数字は1〜3桁。半角か全角かは不定。
・「A=数字」の後ろは不定。(「B」であるかどうかは定かでない)
・元の文字列には半角数字も全角数字も含まれている可能性があり、「A=数字」以外の部分は元のままにする必要がある(半角/全角を変えてはいけない)。
preg_matchで取り出して、前後をカットして(3つの文字列にして)、ヒットした部分だけmb_convert_kanaをして、結合し直して1つの文字列にする……とすれば出来るのでしょうが、スマートではないのでもっと良い方法は無いかと質問させて頂きました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。