所以,我有一个我正在编写的仪表板(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本身的实际查询之间的歧义?我正在考虑正则表达式,但我不确定......
还
我考虑过只使用*
,但如果可能的话,我想避免这种情况。