2016-12-07 11 views
0

特定のテキストを新しいhtmlに置き換えるまたは変更する方法はありますか?特定のテキストをhtmlに置き換えます。

旧HTML:

<div id="test">  
    <p> 
     [b] lorem ipsum [/b] 
    </p> 
    <p> 
     [textarea] lorem ipsum [/textarea] 
    </p> 
</div> 

新しいHTML:

<div id="test"> 
    <p> 
     <b>lorem ipsum</b> 
    </p> 
    <p> 
     <textarea>lorem ipsum</textarea> 
    </p> 
</div> 
Force_Tag = [ 
    '[b]','<pre>', 
    '[/b]','</b>', 
    '[textarea]','<textarea>', 
    '[/textarea]','</textarea>', 
    // ... 
] 
+1

それは読みやすいですので、あなたのコードをフォーマットするために気をつけてください。私はこの質問であなたのためにそれを修正しました。 –

+0

ようこそスタックオーバーフロー! [ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

+0

私の質問を編集していただきありがとうございます...私はstackoverflowの初心者です –

答えて

1

あなたは、"<"との最初のキャプチャグループを置き換える、"[""]"をキャプチャするためにRegExp/(\[)|(\])/gと第二の捕捉グループをString.prototype.replace()を使用することができます">"の場合は、要素のうち.innerHTMLをr eplacement列

<div id="test"> 
 
    <p> 
 
    [b] lorem ipsum [/b] 
 
    </p> 
 
    <p> 
 
    [textarea] lorem ipsum [/textarea] 
 
    </p> 
 
</div> 
 
<script> 
 
    for (let p of document.querySelectorAll("#test p")) { 
 
    p.innerHTML = p.innerHTML.replace(/(\[)|(\])/g, function(match, p1, p2) { 
 
     if (p1) return "<"; 
 
     if (p2) return ">" 
 
    }) 
 
    } 
 
    </script>

+0

ありがとう、それは働く... –

関連する問題