2011-11-19 5 views
2

텍스트 문자열에서 [b]의 모든 언급을 바꿔서 <b>으로 바꿉니다. 아래의 모든 페이지에서 [b]를 모두 바꿔서 사용하고있는 문제와 나는 보내려는 텍스트 문자열 ("text") 내에서 [b]를 변경하기 만하면됩니다.regex "within" "javascript string"내에서

... 정규식 글로벌 아주 잘 그 다음 그들 모두를 대체하지 않습니다 때문에 작동하지 않습니다에 대한 'g'에서

text = $("#input").val(); 

text = text.replace(new RegExp('(^|\\s|>)\\[b](\\S.*?\\S)\\[/b]($|\\s|<)', 'gim') , '$1<strong>$2</strong>$3'); 

어떤 아이디어를 복용? 감사합니다

+4

샘플 입력 부탁드립니다. – FailedDev

+0

$ 1 $ 2 ($ | \ s | <)/김,'text = text.replace (/ (^ | \ s |>) \ [b \] (. *?) \ $ 3 ');' – Krzysztof

+0

'페이지에서'및 '텍스트 문자열'에서 무엇을 의미합니까? 바꾸기는'text' 변수에서 작동합니다. 따라서 변수가 전체 페이지를 보유하고 있으면 분명히 전체 페이지에서 대체 할 것입니다. 바꾸기 전에'text'를 어떻게 설정합니까? – nnnnnn

답변

1

질문이 약간 불분명하기 때문에 문제가 무엇인지 정확히 알 수 없습니다. textarea의 내용을 새로운 html 태그로 바꾸려고하십니까?

다음 코드는 현재 생산에 나를 위해 노력하고 있습니다 :

text = $("#contract_body").val(); // strore the current contents 
text = text.replace(/\[b\](.*?)\[\/b\]/gim, "<strong>$1</strong>"); // replace bbcode with html tags 
$("#contract_body").val(text); // update the textarea with the new string contents 

나는이 도움이되기를 바랍니다.