- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ищется "слон", после некоторых манипуляций заменяется содержимое div, как исключить из поиска содержимое тега img, наверное по такой маске - (<img.*">), что бы альты, титлы в нем не обрабатывались и как потом все вернуть обратно в див?
Буду благодарен любой помощи.
Читающий добавил 28.03.2011 в 19:24
Ни кто не предложит дельную мысль, уже всю голову поломал, буду очень признателен.
Апаю, уж больно хочется решить мою проблему.
Читающий, не понятно что вы хотите.
как исключить из поиска содержимое тега img
Если хочется удалить:
как потом все вернуть обратно в див
var string = document.getElementById("new-123").innerHTML;
Делаем string глобальной, потом используем когда вздумается.
Читающий, не понятно что вы хотите.
По моему все понятно, человеку нужно во всем тексте заменить слово "слон", но при этом в атрибутах изображения <img title="розовый слон" ...> его заменять не нужно.
По-нормальному этого не сделать, т.к. lookbehind assertion-ы (заглядывание назад) должны быть фиксированной длины.
Т.е. вам, по-идее, нужно вот это: /(?<!<img[^>]+)слон/
но это не будет работать из-за переменной длины выражения в скобках.
Вот это, например, будет работать, и найдёт всех слонов, кроме розовых: /(?<!розовый )слон/
Думаю, вам достаточно просто найти слона НЕ в тэгах:
/(>[^<]*слон|\A[^<]*слон)/
По моему все понятно, человеку нужно во всем тексте заменить слово "слон", но при этом в атрибутах изображения <img title="розовый слон" ...> его заменять не нужно.
Именно так, как сделать не могу допетрить...
;8738914']
Думаю, вам достаточно просто найти слона НЕ в тэгах:
/(>[^<]*слон|\A[^<]+слон)/
Вот за это пасибо, попробую
По моему все понятно, человеку нужно во всем тексте заменить слово "слон", но при этом в атрибутах изображения <img title="розовый слон" ...> его заменять не нужно.
Через одно место, но задачу решает.
Если нужна именно замена всех слонов, которые не в тегах, а не просто поиск, то, соответственно
string.replace(/((>[^<]*)слон|\A([^<]*)слон)/g, '$2$3то_что_вместо_слона')
;8739061']Если нужна именно замена всех слонов, которые не в тегах, а не просто поиск, то, соответственно
string.replace(/((>[^<]*)слон|\A([^<]*)слон)/g, '$2$3то_что_вместо_слона')
В ваших примерах заменяются только последние вхождения "слонов"
Получаем
[umka], Огромное спасибо, все заработало, подскажите ещё, что значит \A, сам не нашел что-то.
skAmZ, спасибо за участие, ваш пример тоже отлично работает, возьму на заметку.
Читающий добавил 29.03.2011 в 14:29
В ваших примерах заменяются только последние вхождения "слонов"
Для моей задачи вполне применимо, замена идет не конкретно по слову. Мне важно было понять как не искать в тегах, поэтому реализация от [umka] вполне подходит.
Всем еще раз спасибо.
\A означает начало строки.
Т.е. мы рассматриваем два варианта:
1. Если перед "слоном" есть '<' и '>' (т.е. тег закрывается)
2. Если перед "слоном" с начала строки нет '<' (т.е. никакой тег не открывается)
я ещё добавил бы модификатор /s