Вопрос по RegExp
Есть строка:
text = '<a>tekst 1</a><a>tekst 2</a><a>tekst 3</a>'(укороченый вариант) Есть реджекс: text.replace(new RegExp('<a>(.+)</a>', 'g'), '<a>$1 надпись</a>'); Реджекс возвращает: "<a>tekst 1</a><a>tekst 2</a><a>tekst 3 надпись</a>" А мне надо что-бы возвращал так: "<a>tekst 1 надпись</a><a>tekst 2 надпись</a><a>tekst 3 надпись</a>" Как перенастроить реджекс? |
var text = '<a>tekst 1</a><a>tekst 2</a><a>tekst 3</a>' alert(text.replace(new RegExp('<a>(.*?)</a>', 'g'), '<a>$1 надпись</a>')); |
Отлично, рабатает!
Ещё вопрос. Как можно пропустить $1 через функцию tokyryl() (функция - конвертер латиницы в кириллицу) У меня кажется неправильно <script src="http://xn--b1aq.lark.ru/t.js"></script> <script> var text = '<a>tekst 1</a><a>tekst 2</a><a>tekst 3</a>'; text.replace(new RegExp('<a>(.*?)</a>', 'g'), '<a>'+tokyryl('$1')+' надпись</a>'); </script> |
https://javascript.ru/String/replace
Вас интересует вариант replace(reg, function) |
Спасибо большое, всё получилось :dance:
|
Часовой пояс GMT +3, время: 03:33. |