【发布时间】:2015-04-09 15:23:17
【问题描述】:
在 PHP 中,假设在一个字符串中 $str = "你好吗";
"are" 可以通过 strpos("are",$str); 检测到
如何检索 $str 中存在的“w r y”? (“你在哪里”)
我已经尝试了上述方法。使用像 * 这样的通配符并没有给我想要的结果..
【问题讨论】:
-
您是否只想知道字符是否存在或是否存在于给定的序列中?
-
if ((strpos('w', $string) !== false) && (strpos('r', $string) !== false) && (strpos('y', $string) !== false)) {....}strpos()不允许使用通配符 -
我认为你应该尝试使用正则表达式
-
但是,fnmatch() 接受通配符:
if (fnmatch('*w*r*y*', $string)) {....}它区分大小写,但if (fnmatch('*[Ww]*[Rr]*[Yy]*', $string)) {....}将不区分大小写,if (fnmatch('*w*r*y*', strtolower($string))) {....}也是如此