Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2015, 18:12
Новичок на форуме
Отправить личное сообщение для Lexxk27 Посмотреть профиль Найти все сообщения от Lexxk27
 
Регистрация: 24.02.2014
Сообщений: 4

Как указать правильно переменную в параметрах
Есть сайт.
Надо найти и заменить некоторые слова на страницу. Использую
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:16.
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2015, 18:23
Новичок на форуме
Отправить личное сообщение для Lexxk27 Посмотреть профиль Найти все сообщения от Lexxk27
 
Регистрация: 24.02.2014
Сообщений: 4

Rise, пробовал. Как понимаю проблему, могу ошибаться, переменная вставляется в кавычках. А надо без них
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2015, 18:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Lexxk27
'/'+ggeett+'/gi'
литеральный формат замените на полный new RegExp
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2015, 18:28
Новичок на форуме
Отправить личное сообщение для Lexxk27 Посмотреть профиль Найти все сообщения от Lexxk27
 
Регистрация: 24.02.2014
Сообщений: 4

Могу плохо объяснять. 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>');

То сработает.
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2015, 18:36
Новичок на форуме
Отправить личное сообщение для Lexxk27 Посмотреть профиль Найти все сообщения от Lexxk27
 
Регистрация: 24.02.2014
Сообщений: 4

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

записал так
var ddd = new RegExp (ggeett, 'ig');
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2015, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Lexxk27,
var reg = new RegExp(ggeett , 'gi');
   document.body.innerHTML = document.body.innerHTML.replace(reg, '<strong>'+ggeett+'</strong>');
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2015, 18:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Lexxk27,
ок!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать переменную с jquery в php Максим2 jQuery 14 28.07.2013 11:38
Как правильно отправлять данные Mukhtar AJAX и COMET 9 05.03.2013 09:56
Как вывести переменную из javascript в html код? red-nicolas Элементы интерфейса 3 25.02.2012 13:27
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 18:14
запомнить переменную js в одном файле и использовать в другом. как? skalka Общие вопросы Javascript 2 28.09.2010 08:19