Страница 1 из 1

замена слов

Добавлено: 20 апр 2009, 19:45
JUNKIE
Возникла такая проблемка.
в поле $OTHER1$ добавил текст наример

Код: Выделить всё

Хью Джекман, Райан Рейнольдс, Лив Шрайбер, Доминик Монахэн, Линн Коллинз, Дэнни Хьюстон, Дэниэл Хенни, Тейлор Китч, Кевин Дюран, Скотт Эдкинс
это актеры фильма :D
На странице материала заключил этот весь текст в теги <div id="primer"><b>....</b></div>
с помощью jq скрипта

Код: Выделить всё

$(document).ready(function() {
$("#primer").find("b:contains('Хью Джекман')").html("<a href='/link'>Хью Джекман</a>");

});

попытался заменить слово "Хью Джекман" на тоже слово только в виде ссылки на страницу описания этого актера.
Но возникла проблема, скрипт заменяет всех актеров а не только "Хью Джекман"
Если добавлен 1 актер то все нормально тогда.
Нашёл решение, но неочень удобное - каждого актера надо по одельности заключать тегом <b>..</b> а это не удобно, тем более я отключил использование html тегов при добавлении материала.
Помогите решить проблему.)))

Re: замена слов

Добавлено: 20 апр 2009, 20:32
BeaT 4
Значит код кривой..
JUNKIE писал(а):("<a href='/link'>Хью Джекман</a>")

Разве ето правильно :?: :?

Re: замена слов

Добавлено: 20 апр 2009, 20:33
cucYa

Код: Выделить всё

document.getElementById('primer').innerHTML=document.getElementById('primer').innerHTML.replace(/Хью Джекман/ig,'<a href="/link">Хью Джекман</a>');

Re: замена слов

Добавлено: 20 апр 2009, 20:38
JUNKIE
Спасибо все работает)))

Re: замена слов

Добавлено: 20 апр 2009, 20:40
cucYa
JUNKIE, всё работает, я проверил, ставить после дива, либо в document ready

Re: замена слов

Добавлено: 20 апр 2009, 20:45
Vanofuture

Код: Выделить всё

$(document).ready(function(){
reg=/\w+\s\w+/i;data1='';
data=$("#primer").html();
while(data).search(reg){
data1+='<a href="/link">+'data.match(reg)+'</a><span>, </span>';
data=data.replace(reg,'');}
$("#primer").html(data).find('span:last').remove();});

Это если я правильно понял зачем тебе всё это надо. :D

Re: замена слов

Добавлено: 20 апр 2009, 21:48
JUNKIE
Vanofuture, не совсем то))))) на каждого актера своя ссылка)) а в твоем случае как я понял одна и таже ссылка на всех))) но все равно спасибо за отзыв)

Re: замена слов

Добавлено: 20 апр 2009, 22:36
Vanofuture
JUNKIE, это для поиска по сафту?

Re: замена слов

Добавлено: 21 апр 2009, 10:47
JUNKIE
это для перехода сразу на страницу актера из данного фильма))) ну можно и для поиска. токо к сожалению получится большой код.