Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как указать правильно переменную в параметрах (https://javascript.ru/forum/misc/58041-kak-ukazat-pravilno-peremennuyu-v-parametrakh.html)

Lexxk27 01.09.2015 18:12

Как указать правильно переменную в параметрах
 
Есть сайт.
Надо найти и заменить некоторые слова на страницу. Использую
document.body.innerHTML = document.body.innerHTML.replace ()


Описание проблемы.
есть переменная ggeett. Она определена.

Если использую
document.body.innerHTML = document.body.innerHTML.replace( ggeett, '<strong>'+ggeett+'</strong>');

То работает. Но заменяет только одно слово. Для замены всех совпадений добавляю gi. Тут и начинаются проблемы

document.body.innerHTML = document.body.innerHTML.replace( '/'+ggeett+'/gi', '<strong>'+ggeett+'</strong>');

или
document.body.innerHTML = document.body.innerHTML.replace( /ggeett/gi, '<strong>'+ggeett+'</strong>');


не работает. Как я понимаю надо что бы не вставлялись ковычки. Как можно реализовать это?

Спасибо за ранее

Lexxk27 01.09.2015 18:23

Rise, пробовал. Как понимаю проблему, могу ошибаться, переменная вставляется в кавычках. А надо без них

рони 01.09.2015 18:27

Цитата:

Сообщение от Lexxk27
'/'+ggeett+'/gi'

литеральный формат замените на полный new RegExp

Lexxk27 01.09.2015 18:28

Могу плохо объяснять. 2 часа пытаюсь решить проблему

var ggeett = "test";
document.body.innerHTML = document.body.innerHTML.replace( ggeett, '<strong>'+ggeett+'</strong>');

Так работает, но только первое заменяет, добавляю параметры
document.body.innerHTML = document.body.innerHTML.replace( '/'+ggeett+'/gi', '<strong>'+ggeett+'</strong>');

Это уже не работает, но если написать сразу слово

document.body.innerHTML = document.body.innerHTML.replace( /test/gi, '<strong>'+ggeett+'</strong>');

То сработает.

Lexxk27 01.09.2015 18:36

Большое спасибо Всем. Особенно рони, Сработало!!!

записал так
var ddd = new RegExp (ggeett, 'ig');

рони 01.09.2015 18:37

Lexxk27,
var reg = new RegExp(ggeett , 'gi');
   document.body.innerHTML = document.body.innerHTML.replace(reg, '<strong>'+ggeett+'</strong>');

рони 01.09.2015 18:38

Lexxk27,
ок!


Часовой пояс GMT +3, время: 20:26.