我想知道是否有人知道是否有办法将*(all)连接到if(或switch)语句中的字符串。例如,如果你有一个名为/ hello / there的URL和/ hello / whats-up ...无论如何你可以得到如下内容:
if ($url="/hello/" . *) {
sayHello();
} else { sayGoodebye(); }
等...我认为这不是正确的语法,但如果有人知道我在说什么,那将是一个很大的帮助。
谢谢(:
答案 0 :(得分:3)
$match = "/hello/";
if (substr($url, 0, strlen($match)) === $match) {
sayHello();
} else {
sayGoodbye();
}
如果您不需要使用正则表达式...
答案 1 :(得分:0)
您还可以在$ url字符串中检查$ match的位置:
$match = "/hello/";
if (strpos($url, $match) === 0) {
sayHello();
} else {
sayGoodbye();
}
答案 2 :(得分:-1)
使用正则表达式: http://www.regular-expressions.info/php.html
所以它会是这样的:
if (ereg("/hello/", $url)) {
sayHello();
} else { sayGoodebye(); }
虽然它可以匹配任何地方的“/ hello /”,但是如果你只想匹配以“/ hello /”开头的字符串,你必须修改表达式。关键是,如果你从未使用正则表达式,那么投入一些时间是件好事。它最终会得到回报,因为在某些时候你需要这种技能。
编辑:我将把原始代码作为参考,但请参阅phihag的注释,并使用preg_match和preg_match兼容的表达式而不是ereg和我使用的表达式。