【问题标题】:Convert Java Code To PHP - URL Connections and Reading Response将 Java 代码转换为 PHP - URL 连接和读取响应
【发布时间】:2011-08-25 07:44:40
【问题描述】:

我编写了以下 Java 程序来连接 google.com,获取其 HTML 源代码作为回报,将整个源代码打印在屏幕上,然后计算编号。代码中的换行符 (<br>)。它工作正常。

String QUERY = "http://www.google.com";

URL url = new URL(QUERY);

URLConnection connection = url.openConnection();

connection.setDoInput(true);

InputStream inStream = connection.getInputStream();

BufferedReader input = new BufferedReader(new InputStreamReader(inStream));

String line = "";

int count = 0;

while ((line = input.readLine()) != null)

   {

   System.out.println(line);

   if(line.contains("br"))

      {

      count++;

      System.out.println(count);

      }

   }

问题是,我想用 PHP 编写类似的代码。 我知道可以使用 fopen 调用 URL,并使用 fread 读入字符串类型变量。

我想知道如何打印它(也许是回声?)。但更重要的是,我怎样才能在源代码中搜索所需的字符串,而不仅仅是数数。出现次数,而且在指定搜索字符串的位置之后检索字符串/字符集。

【问题讨论】:

    标签: java php code-conversion


    【解决方案1】:

    这是一个有点奇怪的请求,您似乎在打印每个单独的数字之后(而不是在最后)打印数字。此外,您似乎只计算了约束 br 的每一行,但这应该让您开始使用 php:

    <?php
    $count = 0;
    foreach(file("http://www.google.com") as $line) {
        echo $line, PHP_EOL;
        if(strpos('br', $line)) { 
            ++$count;
        echo $count, PHP_EOL;
        }
    
    }
    

    【讨论】:

    • 谢谢,它确实让我开始......虽然勉强。当我运行这段代码时,我的浏览器打开谷歌,而不是检索它的 HTML 并回显“计数”。
    • 好吧,不。它只是逐行打印 www.google.com 的内容,如果你在浏览器中调用它(java 版本似乎在 cli 上被调用,所以我认为你也会在 cli 上使用 php 版本)它解释的HTML。如果您想在浏览器中查看纯 html 代码(无论出于何种原因),请在 $line 变量周围包装一个“ htmlspecialchars ”函数调用。
    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2021-10-07
    • 1970-01-01
    • 2011-07-19
    • 2014-01-19
    • 2018-07-03
    相关资源
    最近更新 更多