【问题标题】:Get String Instead of Source - Xcode Cocoa获取字符串而不是源代码 - Xcode Cocoa
【发布时间】:2010-04-23 19:23:24
【问题描述】:

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

<html>
<body>

<p>Hello</p>

</body>
</html>

而不仅仅是显示 你好,

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

我怎样才能让我的目标 c 程序只读取你好,而不是 html 源.. 我在阅读网站时假设它是编码,但我可能错了..

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

最好的问候,

凯文

【问题讨论】:

    标签: objective-c iphone cocoa xcode macos


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      据我所知,可可中没有任何东西可以做到这一点。您必须实现自己的 HTML 解析器来读取代码并输出文本。我会通过在线搜索其他实现并将它们改编为可可来做到这一点,因为它会给你大量的语言经验,或者你可以反复试验并学习一些正则表达式。这个特殊的库是用于 Java 的,但它应该是 cocoa/c http://htmlparser.sourceforge.net/ 的一个简单端口

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

        • 这实际上是我的想法,但可以说我有一个像上面那样的 html 脚本。我如何将结果保存在 php 脚本中??
        • 您不需要保存任何内容。您的 iphone 应用程序可以在 yoursite.com/gettext.php 处对您的 php 脚本执行 NSMutableURLRequest。您的 php 脚本读取网页并解析出文本,然后您将“回显”生成的文本。回显是在您的应用程序中发送回 NSMutableURLRequest 的响应,然后您将其放入文本框中。此外,NSMutableURLRequest 可以将 URL(您要解析的网页的)传递给您的 php 脚本。如果您需要,我可以发布一些示例代码。
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-17
          • 2022-07-17
          • 2012-03-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多