Immagino intenda una cosa del genere:

Codice PHP:
<?
$href        
"<a href=\"percorso/percorso/newLink?val=1ssadajdslsda\">";
$pattern     "/^(.*)?val=([0-9]+)?(.*)\"(.*)$/";
$replacement '<a href="geNewLink($2)">';
echo   
htmlentities(preg_replace($pattern$replacement $href));
?>