I think it's too complicated, the select should give you the value you really need, which is the periodicity, and the price should come as a date attribute, and just the unformatted value ...
I recommend something like this:
HTML: (modifications only)
Change the value
attribute to the periodicity and create the data-preco
attribute with the price:
<select class="select-ciclos" name="select">
<option value="mensal" selected="selected" data-preco="6,99">Mensal</option>
<option value="trimestral" data-preco="28,77">Trimestral -4%</option>
<option value="semestral" data-preco="54,14">Semestral -8%</option>
<option value="anual" data-preco="99,99">Anual -16%</option>
</select>
Jquery:
$(".select-ciclos").heapbox({
'onChange': function (value, src) {
$(src).closest('.pricing-column').find('.trans').animate({
opacity: 0
}, 250, function () {
$(this).children('span').html($(src).find("option:selected").attr("data-preco"));
if (value == 'mensal') var ciclo = '/mês';
if (value == 'anual') var ciclo = '/ano';
$(this).html( $(this).html().replace(/<\/span>.*/g, '</span>' + (ciclo ? ciclo : '')) );
$(this).animate({
opacity: 1
}, 250)
})
var elementolink = $(src).closest('.pricing-column').find('.pricing-footer a');
var link = elementolink.attr("href");
elementolink.attr("href", link.replace(/periodo\=(.+?)(&|$)/g, 'periodo=' + value + '&').replace(/&$/g, ''));
}
});
See working on JSFiddle