正则表达式,用于在适当的上下文中隔离字符串


Regular Expression to Isolate a String of Characters in the proper context

因此,我有一个当前正在编写的面板(PHP)。其思想是,它应该显示数据库中相对于指定url的数据。如果用户只想获取所有内容,只需指定"全部"即可。如果他们希望为特定URL抓取数据并同时显示所有内容,他们将使用"all"指令指定其他URL

然而,我发现了一个bug。

如果我有一个包含字符"all"的URL(比如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本身的实际查询之间的歧义,有什么好的解决方案我在想正则表达式,但我不确定。。。

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

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