Change button markup of searching form I am trying to find a way out about five hours now, i have studied and tried a lot of different things but i couldn't find the right drupal way to do what i want... Please help with the following.

I have the search-block-form which displays a search input text field and a button. The markup for the button now is the following (produced by drupal core):

&lt;button class="form-submit" id="edit-submit--2" name="op" value="Search" type="submit"&gt;Search&lt;/button&gt;


I want to add extra markup inside the &lt;button&gt;&lt;/button&gt;, like the following:

&lt;button class="form-submit" id="edit-submit--2" name="op" value="" type="submit"&gt;&lt;i class="fi-magnifying-glass"&gt;&lt;/i&gt;&lt;/button&gt;


I know of course how to set the value=' ' and i have to say that i've already tried #prefix and #suffix parameters. I don't want to add markup prior to the button element or after that. I should put markup inside, between the element's tags.
I tried also change the hook theme_button($variables) but my problem is that i want to change only the button for search-block-form and not all the button elements.

As some of you have already understand, i use foundation 5 framework and i want to make the search button like this:
* Updated *

You can do this by overriding theme_button() in your theme. Note that the code here is copied from theme_button(), with the return value adjusted accordingly:

function THEMENAME_button($variables)
{
  $element = $variables['element'];
  $element['#attributes']['type'] = 'submit';
  element_set_attributes($element, array('id', 'name', 'value'));

  $element['#attributes']['class'][] = 'form-' . $element['#button_type'];
  if (!empty($element['#attributes']['disabled']))
  {
    $element['#attributes']['class'][] = 'form-button-disabled';
  }

  if(isset($element['#search_button']) &amp;&amp; $element['#search_button'])
  {
    return '&lt;button' . drupal_attributes($element['#attributes']) . '&gt;&lt;i class="fi-magnifying-glass"&gt;&lt;/i&gt;&lt;/button&gt;';
  }
  else
  {
    return '&lt;input' . drupal_attributes($element['#attributes']) . ' /&gt;';
  }
}


Then you need to add #search_button = TRUE to the button in hook_form_alter()

function hook_form_alter(&amp;$form, &amp;$form_state, $form_id)
{
  if($form_id == 'MYFORMID')
  {
    $form['actions']['submit']['#search_button'] = TRUE;
  }
}


Note: This will render the button as requested. No guarantees that it will actually work with the Form API. That needs separate testing.