【发布时间】:2011-12-05 21:19:11
【问题描述】:
我想检查一下 值为“H”或“T” 否则它可以是'H' 否则它可以是'T' 或同时使用“H”和“T”
这一切都存储在一个数组中
我正在使用这个正则表达式来检查这两个词。
$combo = preg_match('[HT]',strtoupper($_REQUEST['combo']));
如果值为 HT ,它会给我成功。如果我只输入“H”或“T”......或重复出现“H”或“T”,它不满足上面的代码。
希望这可以帮助您理解...一个简单的抛硬币游戏,有两种可能的结果是“H”-正面和“T”-反面.....用户总共可以玩 9 轮... $ combo 正在存储仅包含 H 和 T 的组合...我正在从我得到的 url 检查 php 调用,例如:- www.domain-name.com/submit_combo_predisc.php/?prefix=p&uid=username&txn=9574621083&combo =HHH&k=29c3550e430723e5c61a66bd03ba4ff5....
这里用户有三个正确的输入,他赢得了一定数量的三个组合权。如果我在 URL 中输入“HH4”而不是“HHH”,它仍然显示你有三个组合权并且用户获得了一定的数量为了使三个组合正确......这实际上是错误的......因为传递的值是'HH4'......n不是'HHH'。 用户实际上可以滥用网址来赢得无限量....
【问题讨论】:
-
您也可以通过在正则表达式中使用
/i标志来跳过strtoupper。
标签: php regex preg-match preg-match-all