すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

PHPでの文字列置換についての質問です。

例えば、以下の文字列に出てくる数値を全て1/2に置換したいと思っています。

$str = "80円の商品を買うのに100円を出して20円のお釣りをもらいました。";

これを、

$str = "40円の商品を買うのに50円を出して10円のお釣りをもらいました。";

とする場合。
どのように書けばスマートでしょうか?
初学者なりにやってみましたが、もっと良いやりかたがありそうです。

preg_match_all("/([0-9]+)/", $str, $match_n, PREG_SET_ORDER);
preg_match_all("/([^0-9]+)/", $str, $match_k, PREG_SET_ORDER);
$str = "";
$i = "0";
foreach($match_n as $key => $value ){
$str .= ($value[1]/2).$match_k[$i][1];
$i++;
}

上記の例では「n円」、また数値が3つとなっていますが、そうで無い場合もあるという汎用的な状況を想定していただけるとありがたいです。よろしくおねがいします。

  • 質問者:ユウ
  • 質問日時:2009-12-04 18:00:54
  • 0

関連する質問・相談

Sooda!からのお知らせ

一覧を見る