2011-07-07 40 views
-1

我想使用AJAX GET加載外部文件,然後解析它以獲取相關信息,而忽略所有註釋。使用JS加載和解析文件

文件:stuff.conf

: This is the list 
: of colors needed 

#5d3939 : nice 
#9e1818 : ugly! 
#cd7979 
#409c81 
#6e6f14 : ok... 

我想在陣列中的十六進制顏色。

請幫忙!

+2

在尋求幫助之前,請提供您在解決此問題時所做的任何嘗試。問題說我有問題x給我解決方案y通常不會太注意Stackoverflow。如果您真誠地嘗試解決問題並解釋您遇到的問題,您肯定會幫助您找到解決方案。 – Chris

+0

@Chris謝謝你注意到我不知道如何解決這個問題。什麼或什麼都比我目前所擁有的更多。我知道如何解析XML或JSON文件中的數據,但事實並非如此。我一直在研究peg.js等不同的東西,但我可以誠實地說,我沒有得到它的工作原理。只是試圖保持簡短。 – Arthur

+0

那麼,只需在響應字符串中使用正則表達式... –

回答

0

在這裏你去:

var arr = response.match(/\#[a-f0-9]{6}/gi); 

其中response是你的Ajax響應字符串。

現場演示:http://jsfiddle.net/simevidas/RnPS3/1/

+0

給男人一條魚,喂他一天。教一個人釣魚,養活他一輩子。 – Chris

+0

@Chris我是誰,耶穌? ':)'解釋/教導正則表達式不是一項高效的任務,它們是抽象的方式。我推薦這篇[在Mozilla上的偉大文章](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/regexp)。 –

0

您可以編寫自己的JS解析任何類型的數據格式。但是,用最簡單的方式交換數據這種有點標準的方法是將數據以JSON的格式與數組中的顏色值(或任何您希望它們結束的格式)相關聯。然後,將文件的內容讀入一個字符串變量,然後調用JSON解析器。解析器的返回值將是一個顏色值的數組(如果這是您如何格式化JSON)。最新的瀏覽器內置了JSON parsers。爲了與舊版瀏覽器兼容跨瀏覽器,您可以在其中一個常用庫中使用解析器,如jQueryYUI或找到code on the web以添加JSON解析器。