Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2010, 16:30
Интересующийся
Отправить личное сообщение для Yellow79 Посмотреть профиль Найти все сообщения от Yellow79
 
Регистрация: 11.05.2010
Сообщений: 14

Поиск определённых слов в контенте
Имеется небольшой скрипт, функция, которая ищет в контенте определённые слова и выделяет их. При наведении на выделенные слова показывается баннер, по образу и подобию как тут. Функция написана и даже работает, но возникла одна неприятная неожиданность, поиск ведётся только по точному соответствию слов. Решил обратиться к тем у кого опыта работы с JS по больше чем мой, так как Я с JS занимаюсь буквально 2 месяца)))
Пытался разобраться с регулярными выражениями, но что то не получается, народ, подскажите, как переписать функцию, чтоб выделяла не по точному соответствию, тоесть, вводим слово для поиска "привет" и функция ищет в контенте не только "привет", но также "Привет", "ПРИВЕТ", "приВет"
Код прилагается:
function searchTextOnPage() {
	var toFind = document.getElementById("qwer").innerHTML;
	document.getElementById("qwe").innerHTML = document.getElementById("qwe").innerHTML.replace(eval("/"+toFind+"/g"), "<b>"+toFind+"</b>");
}
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2010, 16:59
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Используйте для регэкспа флаг i (игнорирование регистра).

/regexp/i
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2010, 17:02
Интересующийся
Отправить личное сообщение для Yellow79 Посмотреть профиль Найти все сообщения от Yellow79
 
Регистрация: 11.05.2010
Сообщений: 14

exec,
а где именно его использовать? пробовал в строке ("/"+toFind+"/g") добавить, получилось это ("/"+toFind+"/gi") по сути работает, но только он мне заглавные меняет на строчные, а хотелось бы чтоб какой первоначально был регистр, тот и оставался
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2010, 17:04
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

function preg_quote( str ) {    // Quote regular expression characters
    // 
    // +   original by: booeyOH
    // +   improved by: Ates Goral ([url]http://magnetiq.com[/url])
 
    return str.replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
}

function searchTextOnPage() {
    var toFind = document.getElementById('qwer').innerHTML,
        holder = document.getElementById('qwe');

    
    holder.innerHTML = holder.innerHTML.replace(new RegExp('('+preg_quote(toFind)+')', 'ig'), '<b>$1</b>');
}
Ответить с цитированием
  #5 (permalink)  
Старый 14.05.2010, 17:25
Интересующийся
Отправить личное сообщение для Yellow79 Посмотреть профиль Найти все сообщения от Yellow79
 
Регистрация: 11.05.2010
Сообщений: 14

e1f,
ты действительно Профессор! Спасибо!!!

а можно ещё небольшое дополнение к коду?
чтоб допустим скрипт искал и выделял не только с разными регистрами, а допустим где встречаются слова в которых есть содержимое "привет", ну например чтоб ещё искал слова такие как "самПривет", "приветИк".

Последний раз редактировалось Yellow79, 14.05.2010 в 17:34.
Ответить с цитированием
  #6 (permalink)  
Старый 14.05.2010, 20:37
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

вот так и помогай людям.сразу на шею сядут.
поэтому я мудак, зато не даю садится на шею себе
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск последнего слова в строке AlexFadeev Элементы интерфейса 3 01.04.2010 18:56
Поиск русских слов с помощью \b не проходит Jury Общие вопросы Javascript 2 18.03.2010 12:05
Подсчет количества слов в поле формы. Guranin Общие вопросы Javascript 7 10.08.2009 13:35
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07