Mil gracias German Gutierrez.
Al final quedó así.
Código PHP:
$variable1 = "-valor1";
$variable2 = "";
$variable3 = "valor3";
$variable4 ="hola-";
$link = $variable1."-".$variable2."-".$variable3."-".$variable4;
$link = preg_replace("/-+/", "-", $link); // Reemplaza guiones seguidos por un guion
$link = preg_replace("/^\-|\-$/", "", $link); // Eliminio un solo guion de cada extremo
echo $link;
Esto imprime:
valor1-valor3-hola
Lo de las expresiones regulares está genial.
La cadena de la que hablaba la estoy utilizando para hacer
url amgables y como varía la cantidad de links y valores, me estaban haciendo ruido esos guiones.
Gracias de nuevo