2012-08-01 7 views
1

다양한 사용자 입력을 기반으로 숨겨진 div (#words)에 단어 배열을 배치 한 다음 해당 정보를 사용하여 기능을 수행합니다. 만 단어를 포장, 페이지 (.ocrText)에 다른 곳에서 볼 수 있고 별도의 사업부로, 다음스팬에 가변 단어 줄 바꿈

terms = $("#words").html(); 

그리고 : 내가하고 싶은 무엇

은 기존의 단어 사업부를 확인 즉이다 강한 태그.

$('.ocrText').each(function() { 
    $(this).html($(this).html().replace(/term/g, "<strong>term</strong>")); 
}); 

그래서, 그들은 "Tallant 프랑스"를 검색했던 우리는 저장하는 경우, 그 다음 다음 문장 : ". 마크 Tallant 프랑스에서 봉사"

이 될 것입니다 :

"마크 <strong> Tallant </strong><strong>France</strong>에 제공합니다."

하지만 .replace()

///

편집에 그 변수를 삽입하는 방법을 모른다 : [ : 용어가이 형식으로 #words div에에에 삽입 "부유 한", "프랑스", "전쟁"] ... 등등.

답변

0
$('.ocrText').each(function() { 
    var term = 'term' 
    var pattern = RegExp(term, 'g') 
    $(this).html($(this).html().replace(pattern, "<strong>" + term + "</strong>")); 
}); 
0

단어는 다음과 같이 한 번에 모두의 검색을 하나의 정규 표현식을 구성 할 수 있습니다 만 alphnumeric 문자가 포함 된 가정 :

html = html.replace (
    new RegExp(terms.split(/\s*,\s*|\s+/).join('|'), 'g'), '<strong>$&</strong>'); 

를 포함한 배열에 조건 문자열을 변환해야 분할 개별 단어, 예를 들어 공백이나 공백으로 선택적으로 쉼표로 구분하도록 코딩했습니다.

+0

음, 작동하지 않습니다. 용어는 #words div에 다음 형식으로 삽입됩니다. [ "Tallant", "France", "War"] ... 등등. – brianrhea

+0

좋습니다. JSON 형식과 호환되며 "terms.split (...)"대신 "JSON.parse (terms)"을 사용하십시오. – HBP

관련 문제