パラメータに「 mytext-」$_GET['page']
というテキストが含まれている場合にのみ、少しスクリプトを実行する必要があります。
クエリ文字列は次のとおりです。admin.php?page=mytext-option
これは0を返します:
$myPage = $_GET['page'];
$match = strpos($myPage, 'mytext-');
echo $match;
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';
}
?>
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