Показать сообщение отдельно
  #1 (permalink)  
Старый 22.01.2009, 17:34
Новичок на форуме
Отправить личное сообщение для mirniy Посмотреть профиль Найти все сообщения от mirniy
 
Регистрация: 03.12.2008
Сообщений: 8

мааленький вопрос по Regexp:)
Добрый день! снова я, благодарю ещё раз за предыдущие ответы, и вот новый вопрос: почему когда в тэг допустим "p" вложенны другие тэги, то Regexp не ищется? суть: поисковик, в одном фрэйме ввожу слово для поиска, в другом это слово ищется и сзади подсвечивается зелёным, всё работает, но если в тэг в ложенны другие тэги то - не работает. Читал статью с этого сайто про Regexp честно! но что-то ответа на свой вопрос не нашёл, хотя подозревая что не понимаю каких-то простых основ, кароч подскажите кто может!

если кому интересно такой код, ну а в хтмл, соответственно форма, фреймы, да текст, вобщем ничего интересного.

function reset_slovo (){
document.forma_poiska.slovo.value = "";
}
function key (event){
event = event || window.event;
if(event.keyCode == 0xA || event.keyCode == 0xD){poisk();}
}

function poisk(){

/*for (var i=0; i<parent.detail.document.body.all.length ; i++)
{alert(parent.detail.document.body.all[i].tagName + " " + i + " " + parent.detail.document.body.all[i].innerHTML);}*/
var text= parent.detail.document.body.all;
var name = document.forma_poiska.slovo.value;
if(name == ""){return false;}
for (var i=0; i<text.length ; i++)
{

if (text[i].tagName.toLowerCase()== "p" || text[i].tagName.toLowerCase()== "b" || text[i].tagName.toLowerCase()== "li" || text[i].tagName.toLowerCase()== "ul" || text[i].tagName.toLowerCase()== "font" || text[i].tagName.toLowerCase()== "div" || text[i].tagName.toLowerCase()== "BR") {
//alert(text[i].tagName + " " + i + " " + text[i].innerHTML);
var tra = text[i].innerHTML;

var as = new RegExp("(^|\\s)"+name+"(\\s|$)", "i");
var as2 = as.test(tra);

if(as2)
{text[i].innerHTML = text[i].innerHTML.replace(as, '$1<span class="noga">'+name+'</span>$2'); i= i -1;}
} // for
} //if
}// function

з.ы.: мой первый опыт с Regexp, так что поливайте код грязью не стесняйтесь, - буду править.
Ответить с цитированием