Това зависи много от това как са форматирани вашите данни в $r_val
, но добро начало би било да опитате:
$r_val = preg_replace('/(?<!\.)\b0\b(?!\.)/', '-', $r_val);
Където \b
е знак с дължина 0, представляващ началото или края на „дума“.
Колкото и странно да звучи, но документацията за регулярен израз на Perl
всъщност е много добър за обяснение на регулярния израз на preg_*
функции, тъй като Perl е мястото, където функционалността всъщност се изпълнява.