2015-08-18 60 views
0

我想替換包含'<'和'>'之間的文本的某個字符串。字符串中的'<'字符忽略.replace()

有趣的是,.replace()幾乎可以在任何文本上正常工作,但是當字符串中包含'<'時,它不會返回過濾後的字符串。

下面是一些簡單的代碼來測試它:http://jsfiddle.net/gy0y90g5/

我已經試過:只有

文本:

var res = str.replace('bijgevoegd>', ""); 

正則表達式:

var res = str.replace(/bijgevoegd>/g, ""); 

因爲的jsfiddle贏得」 t顯示< >之間的任何內容,我剛剛添加了o在這個例子中'ne'>'。

任何人都知道這個古怪的行爲是怎麼回事?

+7

[強制性](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –

+3

檢查[此](HTTP:// jsfiddle.net/tusharj/gy0y90g5/2/),你會得到你的問題的答案。 – Tushar

+0

我們喜歡快速評論!謝謝@Tushar!立即解決:) – bdv

回答

-1

我做了這個,我不知道這是你想要的,但在這裏喲去!

<html> 
<head> 
    <title>STACK OVERFLOW TESTS</title> 
</head> 
<body> 
    <p>Click the button to replace "Microsoft" with "W3Schools" in the paragraph below:</p> 

    <p id = 'text'><Something></p> 

    <input type = 'button' id = 'button' value = 'CLICK ME!'></input> 

    <script> 
     var button = document.getElementById('button'); 
     button.addEventListener('click', doTheMagic); 

     function doTheMagic(){ 
      var paragraph = document.getElementById('text'); 
      paragraph.innerHTML = '<W3Schools>' 

     } 
    </script> 
</body> 
</html>