Показать сообщение отдельно
  #1 (permalink)  
Старый 24.02.2016, 18:19
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Вопрос про регулярное выражение в js
Прошу сильно не пинать за ламерский вопрос. Есть UserJS, скрывающий рекламные посты в социальной сети Вконтакте. Хочу расширить его фильтр.

function vanillafeed() {
	var li = document.getElementsByClassName("wall_text");
	var patt = new RegExp('(качать на android|подписывайтесь!|сделать репост|заходи и смотри|доставка почтой|vk[.]com[/]a_samez|вступай к нам|Компьютер (18+) )',
	'mi');
			
	for (var i = 0; i < li.length; i++) {
		if (li[i].getAttribute('vfx') != 'true') {
			li[i].setAttribute('vfx', 'true');	
            if ( patt.test(li[i].innerHTML) == true ) {
				li[i].parentNode.parentNode.setAttribute('style','display: none;');
			}
		}
	}
}
setInterval(vanillafeed, 1000);


В оригинальном скрипте были лишь такие варианты ...|триумфальн|избирательн|о ппозиц|госдум|единая\sросс|. .. и подсмотреть как сие реализовать нет возможности. Методом тыка выяснил, что такой вариант срабатывает vk[.]com[/]a_samez при наличии в посте ссылки, а вот на текст, который имеет в своём составе символы никак не желает срабатывать соответствующий ему введённый вариант ( например Компьютер (18+) ) Пробовал так Компьютер \(18\+\) и вот так Компьютер [(]18[+][)], но не срабатывает :-(.

Последний раз редактировалось 12345678, 24.02.2016 в 18:37.
Ответить с цитированием