回答編集履歴

1 誤解の訂正

otn

otn score 50823

2017/06/07 00:16  投稿

`"A="`を後読みして、
```PHP
$str = "A=134B456";
$str = preg_replace_callback('/A=\K[0-90-9]{1,3}/',
       function($x){ return mb_convert_kana($x[0],'N'); },
       $str);
var_dump($str);
```
あるいは、括弧を使って、
```PHP
$str = "A=134B456";
$str = preg_replace_callback('/A=([0-90-9]{1,3})/',
   function($x){ return "A=".mb_convert_kana($x[1],'N'); },
   $str);
var_dump($str);
```
```
#追記
ああ、A=の全体を「」で囲むんですね。じゃあ、括弧ですね。
```PHP
$str = "A=134B456";
$str = preg_replace_callback('/A=([0-90-9]{1,3})/',
   function($x){ return '「A='.mb_convert_kana($x[1],'N').'」'; },
   $str);
var_dump($str);
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る