在列表中查找特定数字,然后回显包含该数字的行

时间:2019-05-28 16:36:58

标签: php

我必须得到一个列表的输出,该列表仅包含端口:8080,而不包含任何其他端口,因此php必须检查网站是否包含带有:8080端口的行,如果是,则必须打印全线。

$url = "https://proxymagic.cc/Home/FreeProxies?accesskey=key";
$str = file_get_contents($url);
$lines = explode('
', $str);
foreach($lines as $line) {
  if (stripos($line, '8080') !== false) {
    $line = $output;
  }

echo $output;

}

2 个答案:

答案 0 :(得分:0)

我不确定如果只想将其回显,为什么还要存储该行。这将在单独的行中回显每个匹配的行。

$url = "https://proxymagic.cc/Home/FreeProxies?accesskey=key";
$str = file_get_contents($url);
$lines = explode('
', $str);


foreach($lines as $line) {
  if (stripos($line, '8080') !== false) {
    echo $line . "\n<br/>";
  }
}

答案 1 :(得分:-1)

  1. 使用file()代替file_get_contents()

  2. array_filter用作Jon Gauthier demonstrates,以回答相关问题:

    array_filter($array, function($el) use ($search_text) {
       return ( strpos($el['text'], $search_text) !== false );
    });
    
  3. 摘要:

    $url = "https://proxymagic.cc/Home/FreeProxies?accesskey=key";
    $lines = file($url);
    
    $needle = ':8080';
    $lines = array_filter($lines, function($line) use ($needle) {
       return false !== strpos($line, $needle);
    });
    
    print_r($lines);