2010-04-23 61 views
1

我有一個程序,將掃描網站的內容,並將其顯示在文本框中。問題是它顯示了html源代碼。例如,如果我的HTML代碼爲:獲取字符串,而不是來源 - Xcode可可

<html> 
<body> 

<p>Hello</p> 

</body> 
</html> 

,而不是僅僅顯示 你好,

它會告訴上面的代碼...

我怎樣才能得到我的目標C程序公正閱讀你好,而不是HTML源.. 我假設這是在閱讀網站時的編碼,但我可能是錯誤的..

我將不勝感激,如果有人能給我一個合理的答案。 。

最好的問候,

凱文

回答

0

如果它不是我的話,我會在web服務器上用say,php這樣的腳本編寫一個腳本來處理網頁中的文本。 PHP有一堆內置函數,如strip_tags(),它處理從字符串中刪除html標記。

所以所有繁重的工作都將在php腳本中完成。然後你的iPhone應用程序(假設它是針對iphone的每個標籤)只會將你想解析的URL發佈到你的PHP腳本中,然後它將文本返回給你。

+0

這實際上是我在想什麼,但讓我們說,我有一個像上面的HTML腳本。我將如何將結果保存在一個PHP腳本? – lab12 2010-04-24 14:06:22

+0

你不需要保存任何東西。你的iphone應用程序可以通過http://yoursite.com/gettext.php對你的php腳本進行NSMutableURLRequest。你的php腳本讀入一個網頁並解析出文本,然後你會「回顯」所產生的文本。 echo是你的應用程序發送回到NSMutableURLRequest的響應,然後你將它放到文本框中。 此外,NSMutableURLRequest可以將您想要解析的網頁URL傳遞給您的PHP腳本。如果你需要它,我可以發佈一些示例代碼。 – Banjer 2010-04-26 16:52:53

1

據我所知沒有什麼內置可可做到這一點。你將不得不實現你自己的HTML解析器來閱讀代碼並吐出文本。我會通過在網上搜索其他實現並將它們調整爲可可來做到這一點,因爲它會給你很多語言的經驗,或者你可以反覆試驗並學習一些正則表達式。這種特殊的庫是Java,但它應該是一個簡單的端口可可/ C http://htmlparser.sourceforge.net/

顯然,你可以「收拾」的HTML,然後使用XML解析器http://tidy.sourceforge.net/ 然而,有一個XML解析器(HTML是一種子集),你可以用它來獲取你想要的信息。 http://expatobjc.sourceforge.net/

0

只需使用正則表達式來剝去標籤,做,如果你想顯示一個網頁,使用WebKit的谷歌搜索,你可以找到答案

2

。如果您想剝離xml標籤,請使用NSXMLParser。一些HTML是有效的XML,但它取決於。 HTML只是文本,除非你使用了一些設計來解析它的東西。

相關問題