$nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
$request = $_SERVER['REQUEST_URI'];
$html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
}, $nav);
$nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
$request = $_SERVER['REQUEST_URI'];
$html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
}, $nav);