Вопрос по 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, время: 08:13. |