获取字符串而不是源代码 - Xcode Cocoa

时间:2010-04-23 19:23:24

标签: objective-c iphone cocoa xcode macos

我有一个程序可以扫描网站的内容,并将其显示在文本框中。问题是它显示了html源代码。例如,如果我的html代码是:

<html>
<body>

<p>Hello</p>

</body>
</html>

而不只是显示 你好,

它会显示上面的代码......

如何让我的目标c程序只读取hello,而不是html源代码.. 我在假设这是阅读网站时的编码,但我可能错了..

如果有人能给我一个合理的答案,我将不胜感激。

最诚挚的问候,

凯文

4 个答案:

答案 0 :(得分:2)

如果要显示网页,请使用WebKit。如果要删除xml标记,请使用NSXMLParser。有些html是有效的xml,但它取决于。 HTML只是文本,除非您使用旨在解析它的东西。

答案 1 :(得分:1)

据我所知,可可没有内置任何东西。您必须实现自己的HTML解析器才能读取代码并吐出文本。我会通过在线搜索其他实现并将它们用于cocoa来实现这一点,因为它可以为您提供大量的语言经验,或者您可以试错,并学习一些正则表达式。这个特殊的库适用于Java,但它应该是cocoa / c http://htmlparser.sourceforge.net/

的简单端口

显然你可以'整理'html,然后使用XML解析器http://tidy.sourceforge.net/ 然而,有一个XML解析器(HTML是一个子集),您可以使用它来从中获取所需的信息。 http://expatobjc.sourceforge.net/

答案 2 :(得分:0)

如果它对我来说,我会在web服务器上编写一个脚本,例如php,它处理解析网页中的文本。 php有一堆内置函数,如strip_tags(),用于处理从字符串中删除html标记。

因此所有繁重的工作都将在php脚本中完成。然后你的iPhone应用程序(假设它是你的标签的iphone)只会POST你要解析到你的PHP脚本的URL,然后将文本返回给你。

答案 3 :(得分:0)

只需使用正则表达式去除标签,进行谷歌搜索即可找到答案