2009-08-20 4 views
0

페이지에 텍스트가 있으므로 대괄호 안에있는 텍스트를 찾아서 제거하고 싶습니다. 예를 들어 는 : jQuery에서 대괄호로 묶인 텍스트 찾기

<td>here is [my text] that I want to look at</td> 

그래서 나는, 텍스트 (내 텍스트)를 잡아 변수에 저장하고 어디에서 제거합니다.

답변

1

jQuery를 사용하는 경우 $ ('body')에 \[(.+)\]과 같은 정규식을 사용할 수 있습니다.

편집 : 미안하지만, 나는이 대답을주는 총을 약간 뛰어 넘었을 수도 있습니다. 몇 분 더 그것에 대해 생각하고 더 많은 정보로 이것을 업데이트하려고합니다.

1

이 작업이 그렇게 간단하지는 않습니다. 이 웹 브라우저로 전송되기 전에 텍스트를 제어 할 경우에 당신은 당신이 쉽게 jQuery를 함께 같은 것을 할 수있는, 텍스트 주위에 <span class='bracket'>[my text]</span>을 넣어 할 수 있습니다 :

$(".bracket").each(function() { 
    // store the data from $(this).text(); 
}).remove(); 

이 정기적으로 사용하여 수행 할 수 있습니다 당신이 경우에이 일에 많은 위험이 없다

$("td").each(function() { 
    var $this = $(this); 

    var html = $this.html(); 
    var bracketText = []; 

    // match all bracketed text in the html - replace with an empty string 
    // but push the text on to the array. 

    html = html.replace(/\[([^\]]+)\]/g, function() { 
    bracketText.push(arguments[1]); 
    return ""; 
    }); 

    // put the new html in away and save the data for later 
    $this.html(html).data("bracketText", bracketText); 
}); 

: 표현과 jQuery를하지만, <input name='test[one][]' /> 같은 속성의 내부 텍스트를 다루는 크리프 수있는 문제가있다는 "간단한"정규식이 그런 짓을하는 것입니다 너는 []을 텍스트 안에있는 태그 안에 넣지 않으실 겁니다.

+0

를 텍스트 - 주위 대시를하는 검색 내 텍스트를 변경

 $('#formQuizAnswers td.question').each(function(){ var header = $(this).text().match(/-.*-/); $(this).text($(this).text().replace(header,'')); }); 

제가하려고 한 것을 제외하고 생각했다 특정 태그 집합뿐만 아니라 태그를 일반화하는 방법에 대해 생각해보십시오 (태그에 괄호로 묶인 텍스트가 무엇인지 모르는 경우). 아주 좋아. – theIV

0

나는 일을 결국 다음 :이의 종류 내가 IE - 내가

+0

여기선 욕심쟁이 수량을 사용하지 않겠습니다. 어때? -/[^ -] * - /' – kangax

관련 문제