2012-08-28 19 views
0

所以,我有一个目前正在写入(PHP)的仪表板。这个想法是,它应该显示数据库中的数据相对于给定的指定网址。如果用户希望只抓住一切,他们只需要指定“全部”。如果他们希望抓取特定网址的数据并一次显示所有内容,则会指定其他网址“全部”指令。正则表达式在适当的上下文中隔离一串字符

但是,我发现了一个错误。

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

到目前为止,我只是像函数如下:

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

    return ($pos !== false); 
} 

我使用来检测,看是否“所有”的查询存在的话,像这样:

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

对于这样的事情,避免指定具有“全部”的URL之间的歧义以及全部本身的实际查询会有什么不好?我想正则表达式,但我不知道......

此外

我曾考虑只使用*,但我想避免,如果可能的。

+0

也许你可以更详细地阐述你的脚本如何被调用?即举例说明? –

回答

0

如果在URL中传递all的某些值(即all = 1)。那么你应该看看$_GET超全球因为它的存在(即$_GET['all']

+0

它实际上是通过'$ _POST'传递的。尽量避免使用'$ _GET' ...... – zeboidlund