Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выделение цветом нескольких совпадающих слов
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Выделение цветом нескольких совпадающих слов

Страниц (1): [1]
 

1. thefreedom - 25 Февраля, 2020 - 09:44:25 - перейти к сообщению
Добрый день.
Просьба помочь подправить код так, чтобы подсвечивались 1ки одним цветом, а 2ки другим, неправильный конец кода, как его правильно в один массив запихнуть 2 поиска ?
Заранее спасибо.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <body onload="codeTags();">
  2.  
  3. <script type="text/javascript">
  4. function codeTags () {
  5.  
  6. var search_strings = ['1']; //Массив выделяемых слов
  7. var search_strings_2 = ['2']; //Массив выделяемых слов
  8.  
  9. var doc = document || window.document;
  10. var string = doc.body.innerHTML; //Строка с содержимым тега body документа
  11.  
  12. for (var i = 0; i < search_strings.length; i++) { //Цикл по массиву слов
  13.  var reg = new RegExp (
  14.   '(\\s|^|>)([\\(\\{\\[\\"\'])?' +  //Разделители и открывающая скобка или кавычка
  15.   search_strings[i] + //Исходная строка
  16.   '(\\s|$)?([\\u2000-\\u206F\\u2E00-\\u2E7F\\)\\]\\}\\"\'!#\\$%&\\*\\+,\\-\\.\\/:;<=>\\?@^_\\`\\|\\~])?','gi');
  17.    //Разделители и закрывающая скобка, кавычка или знак препинания
  18.        
  19.  string = string.replace (reg,'$1$2<font color=red>' + search_strings[i] + '</font>$3$4');
  20.   string = string.replace (reg,'$1$2<font color=green>' + search_strings_2[i] + '</font>$3$4');
  21.  
  22. }
  23. doc.body.innerHTML = string; //Вернуть документ назад
  24. }
  25. </script>
2. Vladimir Kheifets - 25 Февраля, 2020 - 13:21:13 - перейти к сообщению
thefreedom пишет:
Добрый день.
Просьба помочь подправить код так, чтобы подсвечивались 1ки одним цветом, а 2ки другим, неправильный конец кода, как его правильно в один массив запихнуть 2 поиска ?
Заранее спасибо.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <body onload="codeTags();">
  2.  
  3. <script type="text/javascript">
  4. function codeTags () {
  5.  
  6. var search_strings = ['1']; //Массив выделяемых слов
  7. var search_strings_2 = ['2']; //Массив выделяемых слов
  8.  
  9. var doc = document || window.document;
  10. var string = doc.body.innerHTML; //Строка с содержимым тега body документа
  11.  
  12. for (var i = 0; i < search_strings.length; i++) { //Цикл по массиву слов
  13.  var reg = new RegExp (
  14.   '(\\s|^|>)([\\(\\{\\[\\"\'])?' +  //Разделители и открывающая скобка или кавычка
  15.   search_strings[i] + //Исходная строка
  16.   '(\\s|$)?([\\u2000-\\u206F\\u2E00-\\u2E7F\\)\\]\\}\\"\'!#\\$%&\\*\\+,\\-\\.\\/:;<=>\\?@^_\\`\\|\\~])?','gi');
  17.    //Разделители и закрывающая скобка, кавычка или знак препинания
  18.        
  19.  string = string.replace (reg,'$1$2<font color=red>' + search_strings[i] + '</font>$3$4');
  20.   string = string.replace (reg,'$1$2<font color=green>' + search_strings_2[i] + '</font>$3$4');
  21.  
  22. }
  23. doc.body.innerHTML = string; //Вернуть документ назад
  24. }
  25. </script>
Добрый день!
Первый вопрос: как правильно запихнуть два массива в один массив, т.е. как сделать двумерный массив на JS. Ответ:
Спойлер (Отобразить)
Как сделать Ваш код рабочим:
Спойлер (Отобразить)
Удачи!

 

Powered by ExBB FM 1.0 RC1