Use mytheme_preprocess_block() to display HTML (icon fonts) in block titles Unfortunately, HTML commands in block titles are not being rendered. I would like to be able to add icon font symbols to my block titles by adding comands like &lt;i class="icon-envelope"&gt;&lt;/i&gt; (this is Font Awesome syntax) to them WITHOUT installing yet another contrib module.

Is there a way to let HTML in block titles being rendered by adding a mytheme_preprocess_block() function to my template.php?

I came across a solution to let HTML commands in menu links being rendered by adding
function mytheme_link($variables) {
    $variables['options']['html'] = TRUE;
    return '' . ($variables['options']['html'] ? $variables['text'] : check_plain($variables['text'])) . '';
} to my template.php but haven't managed to modify the code for block titles.
In preprocess_block() function you can only define the title prefix and suffix for each title.

For example:

/**
 * Override or insert variables into the block template.
 */
function YOURTHEME_preprocess_block(&amp;$variables) {

  $variables['title_prefix'] = array(
    '#type' =&gt; 'markup',
    '#markup' =&gt; '&lt;i class="icon-envelope"&gt;',
  );
  $variables['title_suffix'] = array(
    '#type' =&gt; 'markup',
    '#markup' =&gt; '&lt;/i&gt;',
  );

}