2011-11-21 2 views
0

jquery spellchecker 플러그인을 contenteditable div에 사용하고 있습니다. div 및 br를 대문자로 삽입합니다. 맞춤법 검사기의 정규식은 태그 옆의 철자가 틀린 단어와 일치하지 않습니다.자바 정규식, html 태그 옆에있는 단어와 일치하지 말 것.

var re = new RegExp('(^|[^a-zA-Z])(' + replaceWord + ')([^a-zA-Z]|$)', 'g'); 
html = html.replace(re, '$1<span class="spellcheck-word-highlight">$2</span>$3'); 

: 여기

Praesent commodo cursus magna, 
<br> 
<br> 
dsf 
<br> 
vel scelerisque nisl consectetur et. 

가 루프에 자바 스크립트, 그리고 'replaceWord'잘못 철자 단어입니다 : 여기 DIV의 내용이 난에 정규식을 수행하고있어입니다 정규 표현식은 다른 모든 단어와 정확하게 일치합니다. 의견이 있으십니까?

감사합니다.

+0

[jsfiddle] (http://jsfiddle.net/) 데모를 넣을 수 있습니까? – Galled

+0

예를 들어 어떤 단어의 철자가 잘못 되었습니까? "dsf"와 "vel"을 대체하려고했는데 regexp가 정상적으로 작동합니다. – WTK

+0

FYI "\ b"표식이 ... – Pointy

답변

1

내가 시도를하려는 :

var re = new RegExp('\\b(' + replaceWord + ')\\b', 'g'); 

대신. "\ b"한정자 (위의 문자열에서 배가 된 백 슬래시)는 단어가 아닌 문자 (또는 텍스트의 시작)에서 단어 문자로, 단어 문자에서 단어가 아닌 문자 (또는 텍스트의 끝) 로의 전환과 일치합니다.

+0

완벽, 고맙습니다! – Leon