0

だから、私は現在書いているダッシュボード(PHP)を持っています。アイデアは、指定された特定の URL に関連するデータベースにデータを表示することになっているということです。ユーザーがすべてを取得したい場合は、単に「すべて」を指定する必要があります。特定の URL のデータをスクレイピングしてすべてを一度に表示したい場合は、「all」ディレクティブを使用して追加の URLを指定します。

しかし、バグを発見しました。

「すべて」という文字が含まれる URL がある場合 (たとえば、http://everythingallatonce.com< -- これは単なる例です。実際に存在するかどうかはわかりません)、与えられた指示を受け取るダッシュボードの解析アルゴリズムは機能しません。正しく機能します。実際、このロジックによれば、「スクレイプを実行しますか?」を実際にチェックすることなく、ユーザーが特定の URL と「すべて」という単語を指定したと見なします。これはまったく意味がありません (したがって、例外がスローされるか、エラー メッセージが表示されて終了します)。

これまでのところ、次のような関数があります。

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

     return ( $pos !== false );
}

次のように、クエリに「all」という単語が存在するかどうかを検出するために使用します。

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

「すべて」を含む指定された URL と、すべての実際のクエリの間のあいまいさを避けるために、このようなものの良い回避策は何でしょうか? 正規表現を考えていますが、よくわかりません...

また

の使用のみを検討し*ましたが、できれば避けたいです。

4

1 に答える 1

0

URL で何らかの値allが渡されている場合 (つまり、all=1)。$_GET次に、スーパーグローバルでその存在を確認する必要があります(つまり$_GET['all']

于 2012-08-28T17:34:15.087 に答える