так, URL должен быть таким:
... index.php?x=\x01\x03\x03\x07
и ваши $ _GET должно быть так:
$_GET['x'] = "\\x01\\x03\\x03\\x07";
Она возвращает "OK"
Для сравнения «\ x01 \ x03 \ x03 \ x07 '(шестнадцатеричное значение) с переменной x, которую вы отправили в URL-адресе, сначала вам нужно изменить '\x01\x03\x03\x07'
на '\\x01\\x03\\x03\\x07'
. Зачем ? потому что, если вы не удвоите «\», вы не сможете сравнить их.
Таким образом, вы должны поместить шестигранник в переменной, как это:
$hex = "\x01\x03\x03\x07";
и вы будете сравнивать «х» с отредактированной $ гекса (значение будет «\\x01\\x03\\x03\\x07
»). Чтобы сделать отредактированный/фиксированный $ hex, мы должны использовать функцию str_ireplace().
вот пример:
$hex = "\x01\x03\x03\x07";
$hex_able_to_compare = "\\x01\\x03\\x03\\x07";
$fixed = str_ireplace($hex,$hex_able_to_compare,$hex);
if ($_GET['x'] == $fixed){
echo "OK!";
}
else {
echo "Not OK!";
}
Таким образом, вы все еще можете сравнить гекс с местом вашего шестигранник для $hex
переменной.
Но проблема в том, что, если шестнадцатеричное значение является динамическим? мы должны сделать значение $hex_able_to_compare
как динамическое. : D
'index.php? x = url', можно подумать. –
@Fred вы имеете в виду 'index.php? Url = x' – kennypu
, если вы используете' $ _GET ['url'] ', тогда' index.php? Url = x' – Jonnny