2012-11-15 4 views
2

문장 내에있는 단어 목록이 포함되어있는 요소 (예 : <td>Mike (Jeremy's father) used to play piano</td> 또는 <td>The only one who speaks french is Desmond, but Mike speaks very well spanish</td>)의 html 표가 있습니다. 테이블 내에 특정 이름이 몇 번 나타날지 계산하고 싶습니다. 이 자바 스크립트/jquery를 통해 완료해야하고 PHP를 통해 필요합니다. 도움이 될 것입니다!특정 값이 표에 나타나는 횟수를 계산합니다.

+1

하고있는 경우 글씨는 어업 농부 수집품 잔해 가운데서 물속에서 낚싯밥을 발견 한 밥 씨에 관한 이야기입니까? –

+0

@MarcB 그런 다음 ['URIError']를 버리십시오 (http://ecma-international.org/ecma-262/5.1/#sec-15.11.6.6). –

답변

6

당신은 사용할 수

var nbMikeInTheTable = (' '+$('table').text()+' ').split('Mike').length-1; 

당신이 전체 단어의 확인하려는 경우,

또는 (IE의에 분할 버그 구현과의 호환성을 위해있다 ''추가) 그것은 HTML

var nbMikeInTheTable = $('table').html().split(/\W+/).filter(
    function(v){return v=="Mike"} 
).length; 

당신이 단어의 끝과 세포 및 수의 끝을 방지하려면 인하 아니에요 확실히 그것은 조금 더 같은 복잡한 td의 속성의 일부가 아니다 :

var nbTimesMikeIsInTheTable = $('table td').map(function(){ 
    return $(this).text().split(/\W+/).filter(function(v){return v=="Mike"}).length 
}).toArray().reduce(function(p,v){return p+v}); 

이 우아한 아니지만 아마도 필요하지 않습니다)

Demonstration (open the console)

+0

하나의 셀이 "Mi"로 끝나고 다음 셀이 "ke"로 시작하면 어떻게 될까요? –

+0

업데이트와 관련하여 속성 이름/값 내에서 항목을 catch합니다. (나는 악마의 옹호자를 여기에서 놀고있다.)) –

+0

@ imeVidas 나는 (위험하지는 않을 것이다) 위험에 대해 세 번째 버전을 만들었다. 조금 짧게 할 수는 있지만 고통의 가치가 없을 것 같아요. –

관련 문제