CHtml::submitButton creates a <input type="submit"> that cannot accept additional HTML as its content. However, you can do something to your taste with the help of CHtml::tag :
echo CHtml::tag('button', array('class' => 'btn btn-large pull-right'), '<i class="icon-user"></i> Login');
This will result in a <button> tag that can accept arbitrary HTML as its content.
Update: As frostyterrier notes in the comments, there is a built-in CHtml::htmlButton method that allows you to do this even easier:
echo CHtml::htmlButton('<i class="icon-user"></i> Login', array('class' => 'btn btn-large pull-right'));
Jon
source share