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

时间:2012-08-28 17:26:04

标签: php regex string parsing

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

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

如果我有一个包含字符“all”的网址(例如,http://everythingallatonce.com< - 这只是一个例子 - 我不知道这是否真的存在),仪表板的解析采用给定指令的算法将无法正常工作。事实上,根据这个逻辑,它会认为用户指定了一个给定的URL以及单词“all”,而没有实际检查“执行刮擦”?复选框,根本没有任何意义(因此,它只会引发异常/死亡并带有错误消息)。

到目前为止,我只有以下功能:

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

     return ( $pos !== false );
}

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

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

对于类似这样的事情会有什么好处,以避免指定其中包含“all”的URL与 all 的实际查询之间的歧义?我正在考虑正则表达式,但我不确定......

同时

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

1 个答案:

答案 0 :(得分:0)

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