Woorden in een String vervangen met een reguliere expressie
/*
@param String $content
@param Array $links
@param Boolean $pcre_caseless
@return String $return
*/
function content2links($content, $links, $pcre_caseless = FALSE)
{
    $patterns = array();
    $replacements = array();

    foreach ($links as $pattern => $replacement)
    {
        $patterns[] = '|\b'.$pattern.'\b|'.($pcre_caseless == TRUE ? 'i' : NULL);
        $replacements[] = sprintf($replacement, '$0');
    }

    $return = preg_replace($patterns, $replacements, $content);

    return $return;
}

Testen
$links = array(
    'Lift' => '%s',
    'Liftmonteur' => '%s'
);

$content = 'Er was eens een Lift met een hoofdletter toen de gebroeders liftmonteur en Liftmonteur op de Lift gingen staan toen bleef er slechts een lift over.';

var_dump( $content );
var_dump( content2links($content, $links) );
var_dump( content2links($content, $links, TRUE) );

Resultaat

string(147) "Er was eens een Lift met een hoofdletter toen de gebroeders liftmonteur en Liftmonteur op de Lift gingen staan toen bleef er slechts een lift over."

string(198) "Er was eens een Lift met een hoofdletter toen de gebroeders liftmonteur en Liftmonteur op de Lift gingen staan toen bleef er slechts een lift over."

string(232) "Er was eens een Lift met een hoofdletter toen de gebroeders liftmonteur en Liftmonteur op de Lift gingen staan toen bleef er slechts een lift over."