2009-10-30 6 views
0

검색 및 바꾸기, 하나의 간단한 작업이 단순 : [.? [+]자바 스크립트 내가 제로 자바 스크립트를 알고

  1. 양식의 현재 HTML의 모든 텍스트를 찾기를
  2. 가 콘텐츠를 추출 괄호의
  3. 모든 공백 문자를 밑줄로 바꾸십시오.
  4. 전체 표현식 대신에 <img src="foo.com/$1.jpg"/>을 출력하십시오. 공백이 바뀌면 $ 1이 일치하는 텍스트입니다.

난 당신이이 작업을 수행 코드 조각으로 귀찮게 수 (이것은 HTML에서 [[]] 내부의 모든 텍스트를 수행해야합니다)?

+0

* 아직 * 시도한 적이 있습니까? 여기에 노력의 표시를 해주세요. –

+2

글쎄, 나는 그것을 게시했지만 지금까지는 도움이되지 못했습니다. – ripper234

답변

2

이미 html라는 변수에 HTML 소스를 가정 할 때, 당신은 같은 것을 할 수 있습니다

var converted = html.replace(/\[\[(.+?)\]\]/g, function (s, token) { 
    return '<img src="foo.com/' 
     + token.split(" ").join("_") 
     + '.jpg"/>'; 
}); 

얻거나 <body> 내부 전체 HTML을 설정하려면 document.body.innerHTML를 사용할 수 있습니다. 그러나 특정 id 또는 클래스의 요소를 대상으로 지정하는 것이 좋습니다 (해당 문자열 패턴이 페이지의 임의의 위치에 실제로 나타나지 않는 경우). 또한 이러한 요소를 찾고 내용을 변경하는 데 jQuery를 사용하는 것이 좋습니다.

$(".replacable").each(function() { 
    this.html(imagize(this.html())); 
}); 

function imagize(html) { 
    return html.replace(/\[\[(.+?)\]\]/g, ...); 
} 
+0

+1 특정 요소에서만 실행하고 전체 HTML을 실행하지 말라고 +1 함 – ripper234

관련 문제