Javascript의 Replace로 바꾼 문자열을 동적으로 바꾸려고 합니다

■ 첫 번째(이전 버전 알려주세요)
(전혀 몰라서 유식한 사람에게 가르침을 청하는 심정으로 기사를 썼다.)
Javascript의 Replace로 바꾼 문자열을 동적으로 바꾸려고 합니다

하고 싶은 일은]+javascript에서 정규 표현식으로 '바꾸기' 를 할 수 있는 텍스트 편집기를 만드는 것입니다.
이 화면에서 나는 단지'줄 바꾸기 ¥n'을'tag ¥t'로 바꿀 뿐이다.
첫 번째 텍스트 상자에 '대상' 을 바꾸는 문자열로 정규 표현식을 허용하는 문자열을 입력하십시오
두 번째 텍스트 상자에 정규 표현식을 허용하는 문자열을 '뒤' 문자열로 입력하십시오
바꾸기 버튼을 누르면 바뀝니다.
    r_f = document.getElementById('rp_frm').value;
    r_t = document.getElementById('rp_to').value;

    tx = tx.replace(new RegExp(r_f,"g"), r_t ); 
에서 바꿀 문자열을 동적으로 변경하려면
replace(A, B)에서는 A에 RegExp(hogehoge, "g")만 넣으면 된다는 것을 알았다.
그러나 정규 표현식을 포함하는 문자열을 B에 어떻게 동적으로 입력하는지 모르겠다.
'아'와'아'를
”、
우리
. 변환 전 "에서"- 변환 후 "\n"
. 변환 전 에서 - 변환 후\t
그러면 그냥'아!n거야''아!t거야'이런 글로 바꿔요.
당연히 소스를 넣어야죠.
 .replace(“い”,“¥n”)
그럼 다른 줄로.
변수
 .replace(변수 1, 변수 2)
줄바꿈
그렇지만
변수 2 = 화면에 입력한 변환 후 문자열(예: ¥n)
 .replace(변수 1, 변수 2)
하지만 다른 줄을 만들지 않으면
 
↑이곳은 내가 모르는 곳이다..
겸사겸사 말씀드리겠습니다.
    r_t = r_t.replace("\\" + "n","\u000d\u000a");
    r_t = r_t.replace("\\" + "t","\u0009");
어떤 것은 상당히 억지스럽다.
행 분리 "¥n"및 레이블 "¥t"만 인식되도록 변환합니다.
이 "replace(A, B)"의 B부분은 어떻게 하면 좋을까요
아는 사람이 오면 알려주세요.
※ 이 소스는 이 소스로 라벨과 줄 바꿈에만 한정되면 사용할 수 있습니다.
■ 두 번째(다음 버전 알려주세요)
r_t = JSON.parse( "\"" + document.getElementById('rp_to').value + "\"");
제가 알고 싶은 건요.
"Replace(A, B)에서 정규 표현식이 포함된 문자열을 B 방향으로 동적으로 추가하는 방법"
이렇게 말하는 것보다
"Replace(A, B)에서 B의 한 쪽은 HTML의 한 쪽에서 전해오는 문자열을 도피 문자를 포함하여 적절하게 처리하려고 한다."(JSON.parse는 문자 처리가 적절하다고 판단합니다.)
많이 배웠어요.감사합니다.
다음은 수정된 원본 파일입니다
tikan.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>置換</title>
<style type="text/css">
    body {
        background-color: #eeeeee; 
        color: #000000; 
        margin: 2; 
        padding: 2;
        font-family: "MS ゴシック",sans-serif;
    }
    textarea {
        width: 800px;
        height: 150px;
        border: 2px solid #ffcc77;
        font-family: "MS ゴシック",sans-serif;
    }

</style>
<script type="text/javascript">

function tikan(){
    tx = document.getElementById('ss1').value;
    var r_f;
    var r_t;
    r_f = document.getElementById('rp_frm').value;
    //r_t = document.getElementById('rp_to').value;
    r_t = JSON.parse( "\"" + document.getElementById('rp_to').value + "\"");

    //r_t = r_t.replace("\\" + "n","\u000d\u000a");
    //r_t = r_t.replace("\\" + "t","\u0009");

    tx = tx.replace(new RegExp(r_f,"g"), r_t ); 
    document.getElementById('ss2').value = tx;  
}

function tereko(){

    var p1;
    var p2;
    p1 = document.getElementById('rp_frm').value;
    p2 = document.getElementById('rp_to').value;
    document.getElementById('rp_frm').value = p2;
    document.getElementById('rp_to').value = p1;
}

</script>
</head>

<body >
<form name="test">
    <input type="text" id="rp_frm" value="\n">
    <input type="button" value="⇔" onClick="tereko()">
    <br/>
    <input type="text" id="rp_to" value="\t"><br/>
    <br/><br/><input type="button" value="置換" onClick="tikan()">
</form>

<br/>
<textarea id="ss1" >
あいうえお
かきくけこ
さしすせそ
</textarea><br/>

<textarea id="ss2">
</textarea><br/>

</body>
</html>


좋은 웹페이지 즐겨찾기