2013-05-05 2 views
-5

크롬 확장을 통해 웹 페이지에서 일부 광고를 제거하고 싶습니다. 나는의 전체 라인을 제거하는 방법웹 페이지에서 광고 제거

This is text that contains some string bla This is text that contains 
some string bla This is text DELETEME some string bla This is text 
that contains some string bla This is text that contains some string 
bla 

:

예를 들어

,이 텍스트를 주어진 :

가 나는 것을 할 수있는 긴 텍스트에서 텍스트의 줄을 제거하는 법을 배워야한다고 생각 문자열 DELETEME이 포함 된 텍스트?

텍스트로 사용됩니다. document.body.InnerHTML; } 당신은 줄에 텍스트 나눌 수

+0

"잘 모르겠다"라고 말하지 말고 약간의 노력을 기울여야합니다. –

+1

예제 텍스트가 모두 한 줄에 들어 있습니까? 아니면 네 줄로되어 있을까요? – bjelli

+0

텍스트로 사용됩니다 document.body.InnerHTML; 나는 약간의 garbaje을 꺼내고 싶어 :} – user2200585

답변

2

:

lines.filter(function(line) { 
    return line.indexOf('DELETEME') === -1; 
}) 

그런 다음 함께 그것을 다시 조인

var lines = text.split('\n'); 

그런 다음 문자열을 포함하는 사람을 걸러을 좀 쓰레기를 먹고 싶어 :

text = lines.filter(function(line) { 
    return line.indexOf('DELETEME') === -1; 
}).join('\n'); 
+0

내가 document.body.InnerHTML을 넣고 싶다면; 본문에서 나는 이것을해야합니까? -> var text = document.body.InnerHTML; ? – user2200585

+0

@ user2200585 : 물론,'lines = document.body.innerHTML.split ('\ n');'을 사용하십시오. 왜 이것을 호기심에서 벗어나 페이지로 옮기고 싶습니까? :) – Ryan

+0

웹 사이트에서 일부 광고를 제거하기 위해 크롬 확장을 만들 것입니다. – user2200585

2

프로젝트 (광고 확장을 위해 크롬 확장 생성)에서는 사실 텍스트를 조작해야하거나, HTML 코드를 조작해야하거나,보다 구체적으로 DOM 브라우저 브라우저에서 HTML 코드를 나타내는 문서 객체 모델을 조작해야합니다. jQuery를 사용하면이 작업을 매우 편리하게 수행 할 수 있습니다. http://jsfiddle.net/bjelline/RrCGw/

이 밖으로 시도하는 가장 좋은 방법은 브라우저에 덴 개발자 도구를 열고 명령을 입력하는 것입니다 : 여기

$('li:contains(DELETEME)').remove(); 

이 바이올린입니다 : 여기

는 모든 리튬의 containting의 DELETEME을 삭제 할 방법 콘솔에 추가하면 즉시 효과를 볼 수 있습니다.

예 : google for "learn javascript"- 광고가 표시됩니다. HTML 소스 코드를보고 id가 id "tads"인 div 안에 있음을 확인하십시오. 이제 콘솔을 열고 입력하십시오.

$('#tads').remove(); 

그리고 광고가 사라집니다.


특별히 텍스트 조작에 대해 질문했습니다. 텍스트를 조작 할 때 정규식에 대해 배우는 것이 좋습니다. JavaScript뿐만 아니라 많은 프로그래밍 언어로 사용할 수 있습니다. 전체 텍스트가 변수 문자열에 저장되어있는 경우

, 당신이 할 수 있습니다 :

string = string.replace(/.*DELETEME.*/, "XXXX"); 

는 XXXX와 라인을 대체 할 수 있습니다. "*."

string = string.replace(/.*DELETEME.*/, ""); 

을 텍스트 전 DELETEME 후 일치 "필요한만큼 자주 반복 모든 문자,"약자 : 그냥 완전히 비우고 대체 빈 문자열을 사용합니다.이 정규식은 한 행에서만 작동하므로 다른 행의 텍스트는 변경되지 않습니다.

작동 예제는 http://jsfiddle.net/bjelline/Wc7ve/을 참조하십시오.

그러나 위에서 설명한대로 :이 도구는 프로젝트에 적합한 도구가 아닙니다.

+0

톱 그 예를 인터넷 검색하는 동안,하지만 그냥 DELETEME, 그것을 대체합니까? – user2200585

+1

아니요,. * 줄의 나머지 부분과 일치하는 트릭을 수행하십시오. – bjelli