2010-04-23 27 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只是文本,除非你使用了一些设计来解析它的东西。

相关问题