2014-12-03 1 views
1

길이가 contentString입니다.AngularsJS JavaScript 일치 단어 및 문자열 추가

입력contentString : $scope.listKeyWords에서

, 나는 내 텍스트에서이 키워드와 일치과 같은 몇 가지 물건을 추가 할 필요가

(자동차, 집, 레드, 쿨) 몇 가지 키워드가

예상
Hello there, I have a very nice car. It is very cool. 

출력 :

Hello there, I have a very nice <u>car</u>. It is very <u>cool</u>. 

[EDITED] @Barth 잘레 스키

for (var k = 0, word; word = $scope.listKeyWords[k]; k++) { 
    var re = new RegExp(word, 'g'); 
    contentString = contentString.replace(re, "<u>" + word + "</u>"); 
} 

에 [솔루션] 감사가 어떻게 진행 할 수 있습니까? 당신의 도움이

+0

지금까지 어떤 시도를 했습니까? – mathieu

+0

replace()가 작동하지 않는 이유는 무엇입니까? –

+0

귀하의 시도는 오직 한 번 발생합니다. 내 대답을 보라. 이제는 효과가있다. –

답변

2
for (var k = 0, word; word = $scope.listKeyWords[k]; k++) { 
    contentString = contentString.replace(new RegExp("/\\b" + word + "\\b/"), "<u>" + word + "</u>"); 
} 

\b에 대한

덕분에 전체 단어 만 교체 할 수 있도록는 "단어 경계"를 의미한다.

+0

감사하지만 작동하지 않습니다 :(얻었습니다. 정의되지 않은 'replace'속성을 읽을 수 없습니다. – Jose

+0

'contentString'은 어떻게 정의 되었습니까? 범위의 속성이 아닙니까? 편집 된 답변을 시도하십시오. 올바른 변수 이름. –

+0

var contentArray = []; 그렇다면 contentString = contentArray.join (""); – Jose