2015-07-31 2 views
-1

У меня Jquery код:Где мое регулярное выражение попадает в jquery?

$('#register_tab li a').each(function(e){ 
      var mstr = $(this).html(); 
      var mre = /<i\>(.*)\<i>/; 
      var mnewstr = mstr.replace(mre, "$1", ""); 
      $(this).html(mnewstr); 
     }); 

В Mstr строк, как это:

<i style="font-size: 25px;" class="fa fa-home"></i> Home 
<i style="font-size: 25px;" class="fa fa-sitemap"></i> Sitemap 

Я хочу видеть только иконки в результатах, без текста, например:

<i style="font-size: 25px;" class="fa fa-home"></i> 
<i style="font-size: 25px;" class="fa fa-sitemap"></i> 

Мое регулярное выражение

<i\>(.*)\<i> 

работает хорошо в возвышенном тексте, но не работает в js, что я делаю неправильно?

UPD: здесь приведен пример кода http://jsfiddle.net/28j1tcnm/

+0

'вар MRE =/(] *>) */мкг;' – falsetru

+0

@falsetru - спасибо, но до сих пор не работает – gggigi

ответ

0

изменить свой регулярное выражение, как показано ниже. .

var mnewstr = str.replace(/(<i\b[^>]*>[^<>]*<\/i>).*/g, "$1"); 

var s = '<i style="font-size: 25px;" class="fa fa-home"></i> Home\n<i style="font-size: 25px;" class="fa fa-sitemap"></i> Sitemap'; 
 
alert(s.replace(/(<i\b[^>]*><\/i>).*/g, "$1"))

+0

До сих пор не работает: HTTP: //jsfiddle.net/28j1tcnm/ – gggigi

+0

проверить мое обновление .. –

Смежные вопросы