2012-04-25 55 views
0

因此,我正在制作一个脚本,用户可以检查网站是否启动,我有网站检查部分,但现在我需要弄清楚它实际读取的部分名单。PHP,移动到列表上的下一个项目

用户不得不一次进入一个网站,所以我想花时间做出这样的用户可以做这样的事情,他们可以放在一个长长的网站列表,他们会每个都可以单独阅读,并在线或离线标记。

例子:

google.com

facebook.com

yahoo.com

我需要帮助的唯一的事情,就是我怎样才能使它循环通过每一行?它检查一行,然后移动到下一行。

谢谢!

+0

没什么,我真的不知道如何去做这件事。即使只有少量的信息可能会导致我走向正确的方向。 – 2012-04-25 02:44:52

回答

1

你有没有尝试过这样的:

<?PHP 

$string = $_POST['url_list']; 

foreach(explode("\n", $string) as $line) { 

    // do something 

} 

?> 

如果使用\ n不是工作,你也可以尝试使用\ r \ n代替。

+0

出现新问题时,我很难使其只读取网站的一行,并在其旁边打印出“在线”或“离线”。它正在打印整个网站列表。基本上,我需要它读一行,回声“离线”或“离线”,并转移到下一个。 – 2012-04-25 03:36:27

0
<?php 
    $sites = $_POST['listofsites']; 

    // Assuming list of sites in in a textarea and separated by a new line 
    $sites = explode("\n", $sites); 

    foreach ($sites as $site) 
    { 
     // do your thing 
    } 
?> 
+0

有一个新问题,我很难让它只读一行网站,并在旁边打印出“在线”或“离线”。它正在打印整个网站列表。基本上,我需要它读一行,回声“离线”或“离线”,并转移到下一个。 – 2012-04-25 03:38:02

0

HTML

<textarea name="site_list"> 

</textarea> 

PHP

<?php 
    $sites = array_filter(explode("\n", str_replace("\r","\n", $_POST['site_list'])),'trim'); 
    foreach($sites as $site){ 

     // site checking code here 
    } 
?> 

这会从一个textarea网站的列表,并清理名单之前或在URL后删除任何空行或空字符。

+0

有一个新问题,我很难让它只读一行网站,并在旁边打印出“在线”或“离线”。它正在打印整个网站列表。基本上,我需要它读一条线,回声“离线”或“离线”,并移动到下一个 – 2012-04-25 03:39:00

+0

听起来像另一个问题。 – iambriansreed 2012-04-25 03:40:12

0

简单的解决方案是以逗号分隔输入,然后用逗号分隔符将字符串分解。

$string = "yahoo.com,google.com"; 
$explode = explode(',',$string); 
foreach ($explode as $e){ 
//do whatever you want to do 
} 
相关问题