Zależy to w dużej mierze od tego, jak Twoje dane są sformatowane w $r_val
, ale na początek warto spróbować:
$r_val = preg_replace('/(?<!\.)\b0\b(?!\.)/', '-', $r_val);
Gdzie \b
to znak o długości 0 reprezentujący początek lub koniec „słowa”.
Może to zabrzmieć dziwnie, ale dokumentacja wyrażeń regularnych Perla
jest naprawdę dobry do wyjaśnienia części wyrażenia regularnego preg_*
funkcje, ponieważ Perl jest miejscem, w którym faktycznie zaimplementowana jest funkcjonalność.