これは、データが$r_val
内でどのようにフォーマットされているかに大きく依存します 、ただし、開始するのに適した場所は次のとおりです。
$r_val = preg_replace('/(?<!\.)\b0\b(?!\.)/', '-', $r_val);
\b
の場所 「単語」の開始または終了を表す長さ0の文字です。
奇妙に聞こえるかもしれませんが、Perl正規表現のドキュメント
preg_*
の正規表現部分を説明するのに実際に適しています Perlは機能が実際に実装される場所であるため、機能します。