0

问题是,我想制作一个脚本,首先从表单中的 POST 数据中注册一个字符串,然后检查是否有多个条目。如果有的话,该条目将被删除,并且将继续执行新的唯一条目列表。

  • 条目是 URL。一个 URL 列表,可能有多个条目。

    $sites=$_POST['sitelist'];
    
    $sites=explode("\n", $sites);
    

$_POST['sitelist']来自提交的文本区域。现在我如何分离所有这些 URL 并检查 URL 是否再次出现然后删除它并继续使用新的 URL 列表?

4

4 回答 4

3

测试这个:

$sites=array_unique(explode("\n", $sites));
于 2012-10-18T17:15:12.297 回答
2

array_unique过滤重复的数组,所以一旦你用换行符分割它,所有精确的重复都应该消失。

于 2012-10-18T17:15:17.327 回答
2

使用array_unique()

$sites = array_unique($sites);

于 2012-10-18T17:16:21.233 回答
0
$sites = preg_split('~\\s+~', trim($sites)); // Split by all consecutive spaces
// Uncomment next line for superficial URL validation
// $sites = preg_grep('~^https?://.+?/.*~i', $sites);
$sites = array_unique($sites); // Keep uniques

这会按所有空格拆分 URL 列表(URL 没有空格,空格包括行分隔符)。不保留空行并具有可选的卫生设施。

于 2012-10-18T17:44:07.457 回答