Replacing menu link text with image: overriding the right function?
Consider using hook_preprocess_link().

Here's a snippet:

/**
 * Implements hook_preprocess_link().
 */
function example_preprocess_link(&amp;$variables) {
  if ($variables['path'] == 'path/of/link/to/change') {
    $variables['options']['attributes']['class'][] = 'class-use-image';
  }
}


Then in your CSS file, define the class that replaces the text with the image:

.class-use-image {
  width: 350px; 
  height: 75px;
  background: url("images/&lt;your-iamge&gt;");
  text-indent: -9999px;
}


More techniques on replacing text with image here.