2010-01-10 6 views
2

작동하지 않는교체 바꿈 나는 대체하기 위해 노력하고있어, 안녕 :(

<blockquote>...</blockquote> 

이 내 코드입니다

>> ... 

과 :

var testhtml = 'sdkjhfbs <blockquote>skldfjsfkjghbs\n sdjkfhb ksdbhv isl\n kdjbhdfgkj bs</blockquote>kdjfgnkdfj'; 
alert(blockquoteConvert(testhtml)); 

function blockquoteConvert(html) { 
    return '>>' + html. 
     replace(/<blockquote>([^]+)<\/blockquote>/gi,"$1"). 
     replace('/\n/','\n>> '); 
} 

그러나 Linebreaks는 찾지 못했습니다. (indexOf ('\ n')으로 확인했습니다)

어떻게해야합니까?

답변

7

는 따옴표없이 그것을 시도 :

replace(/\n/g,'\n>> ') 

지금 구분 기호가 문자 정규 표현식 선언 구문의 일부 패턴 자체의 일부입니다.

0

이중 백 슬래시 \\n을 사용하면 도움이됩니다.

+0

및 RegExp 개체도 마찬가지입니다. ''abc \ ndef'.replace (새 RegExp ('\\ n', 'g'), '\ n >>') – ZJR

0

전역 바꾸기가 필요합니다. 그렇지 않으면 바꾸기가 첫 번째 줄 바꿈에만 일치합니다.

replace(/\n/g,'\n>> ') 
0

당신은했으나, 당신이 구문과 일치하지 않았다 :

슬래시 검색 문자열의 일부가, 그래서 이것을 시도하므로 또한, 당신은 당신의 정규 표현식에 따옴표를 사용할 수 없습니다
function blockquoteConvert(html) { 
    return '>> ' + html. 
     replace(/<blockquote>([^]+)<\/blockquote>/gi,"$1"). 
     replace(/\n/g,'\n>> '); 
} 
0

지금은 혼란 스러워요,이

var testhtml = 'sdkjhfbs <blockquote>skldfjsfkjghbs\n sdjkfhb ksdbhv isl\n kdjbhdfgkj bs</blockquote>kdjfgnkdfj'; 
alert(blockquoteConvert(testhtml)); 

function blockquoteConvert(id) { 
car text = document.getElementById(id).value; 
text = text.replace(/\n\r?/g, '>>'); 
} 


Or use jquery 
$('#caption').html($('#caption').text().replace(/\n\r?/g, '>>')); 
0

좋아보십시오. 시도해주세요.

var testhtml = 'sdkjhfbs <blockquote>skldfjsfkjghbs\n sdjkfhb ksdbhv isl\n kdjbhdfgkj bs</blockquote>kdjfgnkdfj'; 
alert(convertLineBreaks(testhtml)); 
alert(blockquoteConvert(testhtml)); 

function blockquoteConvert(html) { 
    return html 
     .replace(/<blockquote>([^]+)<\/blockquote>/gi,convertLineBreaks("$1")); 
} 

function convertLineBreaks(text) { 
    return '>>' + text.replace(/\n/g,'\n>> '); 
} 

blockquote를 바꾸면 내 줄 바꿈이 손실 된 것 같습니다 ... ...?

관련 문제