2016-02-26 57 views
0

我需要爲一個簡單的文本系統搜索特定類的<div>,然後存儲文本。使用JS或jQuery解析自定義文本標記

基本上都會有一個div,並在div裏面可能有一些文字,如:

[ALERT](TEXT TO STORE HERE)

我想尋找一個div爲警報標籤,然後將其存儲內的任何文本會()如果它存在,則將其置於變量下,如果發現它,則將警報推送到控制檯。

但是,雖然我可以很容易地找到第一部分[ALERT],但我無法弄清楚如何查找整個字符串或存儲包含文本。我認爲它應該最終類似於:

var alerttext = $("#result").find("[ALERT](.)")=(function() 
{ 
return $(this).html(); 
}).get(); 

但是,這似乎相當遙遠,肯定不工作。

編輯:HTML將類似於:

<div id="bbb" class=""><p id="aaa">text test text 

[ALERT](TEXT TO STORE HERE) 

More text down here 

</p></div> 
+0

你可以在問題中包含'html'嗎? – guest271314

+0

@ guest271314新增了! – RNPF

+0

查看最新帖子 – guest271314

回答

2

嘗試使用.text()String.prototype.replace()RegExp/(\n.+\()|(\).+\n+\s+$)/g更換輸入字符串,最多(,從)結束輸入,在開頭和結尾去掉換行,空格字符的匹配字符串

var arr = []; 
 

 
$("#bbb").text(function(i, text) { 
 
    if (text.indexOf("[ALERT]") >= 0) { 
 
    var match = text.replace(/(\n.+\()|(\).+\n+\s+$)/g, ""); 
 
    arr.push(match); 
 
    console.log(arr); 
 
    }; 
 
    return text 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> 
 
</script> 
 
<div id="bbb" class=""> 
 
    <p id="aaa">text test text [ALERT](TEXT TO STORE HERE) More text down here 
 
    </p> 
 
</div>

+0

這很好用 - 我應該知道它會歸結爲正則表達式。謝謝你的幫助! – RNPF