问题是,我想制作一个脚本,首先从表单中的 POST 数据中注册一个字符串,然后检查是否有多个条目。如果有的话,该条目将被删除,并且将继续执行新的唯一条目列表。
条目是 URL。一个 URL 列表,可能有多个条目。
$sites=$_POST['sitelist']; $sites=explode("\n", $sites);
$_POST['sitelist']
来自提交的文本区域。现在我如何分离所有这些 URL 并检查 URL 是否再次出现然后删除它并继续使用新的 URL 列表?
问题是,我想制作一个脚本,首先从表单中的 POST 数据中注册一个字符串,然后检查是否有多个条目。如果有的话,该条目将被删除,并且将继续执行新的唯一条目列表。
条目是 URL。一个 URL 列表,可能有多个条目。
$sites=$_POST['sitelist'];
$sites=explode("\n", $sites);
$_POST['sitelist']
来自提交的文本区域。现在我如何分离所有这些 URL 并检查 URL 是否再次出现然后删除它并继续使用新的 URL 列表?
测试这个:
$sites=array_unique(explode("\n", $sites));
array_unique
过滤重复的数组,所以一旦你用换行符分割它,所有精确的重复都应该消失。
使用array_unique()
:
$sites = array_unique($sites);
$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 没有空格,空格包括行分隔符)。不保留空行并具有可选的卫生设施。