3

パラメータに「 mytext-$_GET['page']というテキストが含まれている場合にのみ、少しスクリプトを実行する必要があります。

クエリ文字列は次のとおりです。admin.php?page=mytext-option

これは0を返します:

$myPage = $_GET['page'];
$match = strpos($myPage, 'mytext-');
echo $match;
4

5 に答える 5

2

strpos は文字列の位置を返します。0 であるため、位置 0、つまり文字列の先頭で見つかったことを意味します。

そこにあるかどうかを簡単に理解するには、次のようにブール値===を if ステートメントに追加します。

<?php

$myPage = $_GET['page'];
$match = strpos($myPage, 'mytext-');

if ( $match === false ) {
    echo 'Not found';
} else {
    echo 'Found';
}

?>

これにより、文字列が存在するかどうかがわかります。

または、知りたいだけの場合は、そこにある場合:

$myPage = $_GET['page'];
$match = strpos($myPage, 'mytext-');

if ( $match !== false ) {
    echo 'Found';
}

?>
于 2012-07-11T13:12:08.007 に答える
0

preg_match の何が問題になっていますか?

$myPage = $_GET['page'];
if (preg_match("/\bmytext-\b/i", $myPage)) {
    //Do Something
}

または、「mytext-option」の「オプション」が必要ですか?

はいの場合、これを使用できます:

$myPage = $_GET['page'];
$querystrings = explode("-", $myPage);
if ($querystrings[0] == 'mytext')) {
    //Do Something
    echo $querystrings[1]; //outputs option
}

これにより、「mytext-option-whatever」のように、クエリ文字列でより多くの「オプション」を使用することもできます。
$_GET['page'], $_GET['option'], $_GET['whatever']
それは使う時も使う時も同じ
?page=mysite&option=x&whatever=y

于 2012-07-11T13:04:31.683 に答える