0

所以,我有一个我正在编写的仪表板(PHP)。这个想法是它应该在数据库中显示相对于指定给定 url 的数据。如果用户只想抓取所有东西,他们只需要指定“全部”。如果他们希望抓取特定 URL 的数据并一次显示所有内容,他们将使用“all”指令指定其他URL

然而,我发现了一个错误。

如果我有一个 URL 中包含字符“all”(例如,http://everythingallatonce.com<-- 这只是一个示例 - 我不知道它是否真的存在),那么采用给定指令的仪表板解析算法将不会好好工作。事实上,按照这个逻辑,它会认为用户指定了一个给定的 URL 以及“all”这个词,而没有真正勾选“perform scrape?”。复选框,这根本没有意义(因此,它只是抛出异常/死亡并显示错误消息)。

到目前为止,我只有一个如下功能:

function _strExists( $needle, $haystack )
{
     $pos = strpos( $haystack, $needle );

     return ( $pos !== false );
}

我用它来检测查询中是否存在“all”一词,如下所示:

$fetchEverything = _strExists('all', $urls);

对于这样的事情,有什么好的解决方法可以避免指定的包含“all”的 URL 与all本身的实际查询之间的歧义?我正在考虑正则表达式,但我不确定......

我考虑过只使用*,但如果可能的话,我想避免这种情况。

4

1 回答 1

0

如果在 URL 中传递了某个值all(即 all=1)。然后你应该在$_GET超全球中寻找它的存在(即$_GET['all']

于 2012-08-28T17:34:15.087 回答